Android开发之进度条

一、基础知识:

 

1.ProgressBar在界面文件XML中的布局:

[html]

<progressBar android:id="@+id/progressbar_updown" 

        android:layout_width="200dp"  

        android:layout_height="wrap_content" 

        style="?android:attr/progressBarStyleHorizontal" 

        android:layout_gravity="center_vertical"  

        android:max="100" 

        android:progress="50" 

        android:secondaryProgress="70"    >  

<progressBar android:id="@+id/progressbar_updown"

        android:layout_width="200dp"

        android:layout_height="wrap_content"

        style="?android:attr/progressBarStyleHorizontal"

        android:layout_gravity="center_vertical"

        android:max="100"

        android:progress="50"

        android:secondaryProgress="70"    > 

[plain]

style="?android:attr/progressBarStyleHorizontal"    设置风格为长形  

android:max="100"    最大进度值为100  

android:progress="50"   初始化的进度值  

android:secondaryProgress="70" 初始化的底层第二个进度值  

android:layout_gravity="center_vertical"    垂直居中 

style="?android:attr/progressBarStyleHorizontal"    设置风格为长形

android:max="100"    最大进度值为100

android:progress="50"   初始化的进度值

android:secondaryProgress="70" 初始化的底层第二个进度值

android:layout_gravity="center_vertical"    垂直居中

 

 

2.ProgressBar在代码文件(.java)中的控制使用:

[java]

private ProgressBar myProgressBar; 

//定义ProgressBar  

 

myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown); 

//ProgressBar通过ID来从XML中获取  

 

myProgressBar.incrementProgressBy(5); 

//ProgressBar进度值增加5  

 

myProgressBar.incrementProgressBy(-5); 

//ProgressBar进度值减少5  

 

myProgressBar.incrementSecondaryProgressBy(5); 

//ProgressBar背后的第二个进度条 进度值增加5  

 

myProgressBar.incrementSecondaryProgressBy(-5); 

//ProgressBar背后的第二个进度条 进度值减少5 

private ProgressBar myProgressBar;

//定义ProgressBar

myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);

//ProgressBar通过ID来从XML中获取

myProgressBar.incrementProgressBy(5);

//ProgressBar进度值增加5

myProgressBar.incrementProgressBy(-5);

//ProgressBar进度值减少5

myProgressBar.incrementSecondaryProgressBy(5);

//ProgressBar背后的第二个进度条 进度值增加5

myProgressBar.incrementSecondaryProgressBy(-5);

//ProgressBar背后的第二个进度条 进度值减少5

 

3.XML重要属性

android:progressBarStyle:默认进度条样式

android:progressBarStyleHorizontal:水平样式

 

 

4.重要方法

[plain]

getMax():返回这个进度条的范围的上限 

 

getProgress():返回进度 

 

getSecondaryProgress():返回次要进度 

 

incrementProgressBy(int diff):指定增加的进度 

 

isIndeterminate():指示进度条是否在不确定模式下 

 

setIndeterminate(boolean indeterminate):设置不确定模式下 

 

setVisibility(int v):设置该进度条是否可视 

getMax():返回这个进度条的范围的上限

getProgress():返回进度

getSecondaryProgress():返回次要进度

incrementProgressBy(int diff):指定增加的进度

isIndeterminate():指示进度条是否在不确定模式下

setIndeterminate(boolean indeterminate):设置不确定模式下

setVisibility(int v):设置该进度条是否可视

 

  

二、代码展示:

1."Activity_09srcyanactivity_09MainActivity.java"

[java]

package yan.activity_09; 

 

import android.os.Bundle; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.Button; 

import android.widget.ProgressBar; 

import android.app.Activity; 

 

public class MainActivity extends Activity { 

    // 声明变量  

    private ProgressBar firstBar = null; 

    private ProgressBar secondBar = null; 

    private Button myButton = null; 

    private int progress_vol = 0; 

     

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.main); 

         

        //映射控件ID到变量  

        firstBar = (ProgressBar)findViewById(R.id.firstBar); 

        secondBar = (ProgressBar)findViewById(R.id.secondBar); 

        myButton = (Button)findViewById(R.id.myButton); 

                

        myButton.setOnClickListener(new ButtonListenr()); 

    } 

     

    class ButtonListenr implements OnClickListener{ 

 

        @Override 

        public void onClick(View v) { 

            // TODO Auto-generated method stub  

            if(0 == progress_vol) 

            { 

                // 设置进度条的最大值  

                firstBar.setMax(200); 

                // 设置进度条为可见的状态  

                firstBar.setVisibility(View.VISIBLE); 

                secondBar.setVisibility(View.VISIBLE); 

            }else if(progress_vol < firstBar.getMax()){ 

                // 设置主进度条的当前值  

                firstBar.setProgress(progress_vol); 

                // 设置第二进度条的当前值  

                firstBar.setSecondaryProgress(progress_vol+10); 

                // 默认的进度条是无法显示进行的状态的  

                //secondBar.setProgress(progress_vol);  

            }else{ 

                // 设置进度条为不可见的状态  

                firstBar.setVisibility(View.GONE); 

                secondBar.setVisibility(View.GONE); 

            } 

            progress_vol +=10; 

        } 

         

    } 

package yan.activity_09;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ProgressBar;

import android.app.Activity;

public class MainActivity extends Activity {

 // 声明变量

 private ProgressBar firstBar = null;

 private ProgressBar secondBar = null;

 private Button myButton = null;

 private int progress_vol = 0;

 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  

  //映射控件ID到变量

  firstBar = (ProgressBar)findViewById(R.id.firstBar);

  secondBar = (ProgressBar)findViewById(R.id.secondBar);

  myButton = (Button)findViewById(R.id.myButton);

  

  

  myButton.setOnClickListener(new ButtonListenr());

 }

 

 class ButtonListenr implements OnClickListener{

  @Override

  public void onClick(View v) {

   // TODO Auto-generated method stub

   if(0 == progress_vol)

   {

    // 设置进度条的最大值

    firstBar.setMax(200);

    // 设置进度条为可见的状态

    firstBar.setVisibility(View.VISIBLE);

    secondBar.setVisibility(View.VISIBLE);

   }else if(progress_vol < firstBar.getMax()){

    // 设置主进度条的当前值

    firstBar.setProgress(progress_vol);

    // 设置第二进度条的当前值

    firstBar.setSecondaryProgress(progress_vol+10);

    // 默认的进度条是无法显示进行的状态的

    //secondBar.setProgress(progress_vol);

   }else{

    // 设置进度条为不可见的状态

    firstBar.setVisibility(View.GONE);

    secondBar.setVisibility(View.GONE);

   }

   progress_vol +=10;

  }

  

 }

}

 

2."Activity_09reslayoutmain.xml"

[html]

<?xml version="1.0" encoding="utf-8"?>   

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   

    android:orientation="vertical"   

    android:layout_width="fill_parent"   

    android:layout_height="fill_parent"  

    android:background="#00aaaa"   

    >   

   <TextView 

        android:id="@+id/firstText"   

        android:text="@string/hello_world"   

        android:gravity="center_vertical"   

        android:textSize="15pt"   

        android:background="#aa0000"   

        android:layout_width="fill_parent"   

        android:layout_height="wrap_content"   

        android:singleLine="true"/>   

<ProgressBar 

    android:id="@+id/firstBar" 

    style="?android:attr/progressBarStyleHorizontal" 

    android:layout_width="200dp" 

    android:layout_height="wrap_content" 

    android:visibility="gone" 

    /> 

<ProgressBar 

    android:id="@+id/secondBar" 

    style="?android:attr/progressBarStyle" 

    android:layout_width="wrap_content" 

    android:layout_height="wrap_content" 

    android:visibility="gone" 

    /> 

<Button 

    android:id="@+id/myButton" 

    android:layout_width="wrap_content" 

    android:layout_height="wrap_content" 

    android:text="begin" 

    /> 

</LinearLayout>   

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation="vertical" 

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent"

 android:background="#00aaaa" 

    > 

   <TextView

  android:id="@+id/firstText" 

  android:text="@string/hello_world" 

  android:gravity="center_vertical" 

  android:textSize="15pt" 

  android:background="#aa0000" 

  android:layout_width="fill_parent" 

  android:layout_height="wrap_content" 

  android:singleLine="true"/> 

<ProgressBar

    android:id="@+id/firstBar"

    style="?android:attr/progressBarStyleHorizontal"

    android:layout_width="200dp"

    android:layout_height="wrap_content"

    android:visibility="gone"

    />

<ProgressBar

    android:id="@+id/secondBar"

    style="?android:attr/progressBarStyle"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:visibility="gone"

    />

<Button

    android:id="@+id/myButton"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="begin"

    />

</LinearLayout> 

3."Activity_09resvaluesstrings.xml"

[html]

<?xml version="1.0" encoding="utf-8"?> 

<resources> 

 

    <string name="app_name">Activity_09</string> 

    <string name="hello_world">Hello world!</string> 

    <string name="menu_settings">Settings</string> 

 

</resources> 

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">Activity_09</string>

    <string name="hello_world">Hello world!</string>

    <string name="menu_settings">Settings</string>

</resources>

  

三、效果展示:

 

开发之进度条-android开发进度条">

时间: 2024-10-31 04:02:35

Android开发之进度条的相关文章

Android自定义的进度条NumberProgressBar实例分享

先看看效果吧: 这是个自定义的view,我这里就不去深究了,看demo界面的代码,看看如何使用的. MainActivity.java /**   * demo主界面   * @author jan   */   public class MainActivity extends Activity implements OnProgressBarListener {              private Timer timer;       //进度条组件       private Num

Android编程自定义进度条颜色的方法详解

本文实例讲述了Android编程自定义进度条颜色的方法.分享给大家供大家参考,具体如下: 先看效果图: 老是提些各种需求问题,我觉得系统默认的颜色挺好的,但是Pk不过,谁叫我们不是需求人员呢,改吧! 这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\ 下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml 找到xml后,进去找到: <style name="Widget.ProgressBar"&

Android 实现带进度条的WebView的实例

Android 实现带进度条的WebView的实例 1. WebView加载网页方法 //加载本地资源 loadUrl("file:///android_asset/example.html"); //加载网络资源 loadUrl("http://baidu.com"); 2. 带进度的Drawable文件view_progress_webview <?xml version="1.0" encoding="utf-8"

Android实现带进度条的WebView

如果不使用系统自带的TitleBar(即Activity被设置@android:style/Theme.NoTitleBar),那就需要自己来写进度条了,这里封装了一个自定义控件和加载网页的公共Activity,方便使用. 一.截图 二.自定义控件 /** * 带进度条的WebView * @author 农民伯伯 * @see http://www.cnblogs.com/over140/archive/2013/03/07/2947721.html * */ @SuppressWarning

android 进度条更新-Android关于下载进度条更新问题

问题描述 Android关于下载进度条更新问题 @Override protected Bitmap doInBackground(String... params) { Bitmap bitmap=null; ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); InputStream inputStream=null; try { HttpClient httpClient=new DefaultHttpClient(

在android不显示进度条对话框的问题

问题描述 在android不显示进度条对话框的问题 进度条对话框在Android程序中显示不出来,我找不出问题的原因.使用了如下代码来显示进度条对话框: func{ progressdialog.show(); .... ..... anotherfunction(); listview.setAdapter(); progressdialog.dismiss(); } 当.show() 命令执行以后,进度条对话框就会显示.但是当otherfucntion()方法被调用后,之前显示的进度条对话框

浏览器-android WebView中进度条只能显示一次,为什么?

问题描述 android WebView中进度条只能显示一次,为什么? public class WebActivity extends Activity implements View.OnClickListener { private WebView webView; private EditText edit_web_adds; private Button btn_webadds_go, btn_web_back; private ProgressBar pb; String Url;

Android 七种进度条的样式_Android

当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行.执行进度如何.应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度.Android系统提供了两大类进度条样式,长形进度条(progress-BarStyleHorizontal) 和圆形进度条(progressBarStyleLarge).进度条用处很多,比如,应用程序装载资源和网络连接时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分的执行情况,而整个应用程序执行情况呢,则可以通

Android 七种进度条的样式

当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行.执行进度如何.应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度.Android系统提供了两大类进度条样式,长形进度条(progress-BarStyleHorizontal) 和圆形进度条(progressBarStyleLarge).进度条用处很多,比如,应用程序装载资源和网络连接时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分的执行情况,而整个应用程序执行情况呢,则可以通