ProgressDialog进度条使用(有可运行Demo)

来源:互联网 发布:阿达帕林对黑头知乎 编辑:程序博客网 时间:2024/04/28 17:52

ProgressDialog常用方法:

        setProgressStyle:设置进度条风格,风格为圆形,旋转的。
             setTitlt:设置标题
        setMessage:设置提示信息;
        setIcon:设置标题图标;
        setIndeterminate:设置ProgressDialog 的进度条是否不明确;这个属性对于ProgressDailog默认的  转轮                                           模式没有实际意义,默认下设置为true,它仅仅对带有ProgressBarDialog  作用。                                             修改这个属性为false后可以实时更新进度条的进度。
      setCancelable:设置ProgressDialog 是否可以按返回键取消;

      cancelListner:当前Dialog强制取消之后将会被执行,通常用来清理未完成的任务。
          setButton:设置ProgressDialog 的一个Button(需要监听Button事件);
      show:显示ProgressDialog

      cancel:删除progressdialog

      dismiss删除progressdialog作用和cancel相同

      setProgress(intCounter);更新进度条,当然一般都需要Handler的结合来更新进度条

 

详细使用见下列Demo


Activity代码:

package com.example.progressdialogdemo;import android.os.Bundle;import android.app.Activity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity { private ProgressDialog mpDialog;      private Button btn1,btn2;      private int mCount = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1 = (Button) this.findViewById(R.id.button1);btn2 = (Button) this.findViewById(R.id.button2);btn1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) { mpDialog = new ProgressDialog(MainActivity.this);                  mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置风格为圆形进度条                  mpDialog.setTitle("提示");//设置标题                  //mpDialog.setIcon(R.drawable.icon);//设置图标                  mpDialog.setMessage("这是一个圆形进度条");                  mpDialog.setIndeterminate(false);//设置进度条是否为不明确                  mpDialog.setCancelable(true);//设置进度条是否可以按退回键取消                  mpDialog.setButton("确定", new DialogInterface.OnClickListener(){                        @Override                      public void onClick(DialogInterface dialog, int which) {                          dialog.cancel();                         }                                        });                  mpDialog.show();}});btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub mCount = 0;  //设定初始参数                mpDialog = new ProgressDialog(MainActivity.this);  //实例化ProgressDialog                mpDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  //设定进度条形式为水平                mpDialog.setTitle("提示");  //设定标题提示                //mpDialog.setIcon(R.drawable.icon);  //设定进度条图标                mpDialog.setMessage("这是一个长型进度条");  //设定进度条主体文字显示                mpDialog.setMax(100);  //设定进度条最大值                mpDialog.setProgress(0);  //设定进度条当前进度值                mpDialog.setSecondaryProgress(50);                  mpDialog.setIndeterminate(false);  //设定为false会实时更新进度条                mpDialog.setCancelable(true);  //设定进度条是否可以按返回取消键                mpDialog.setButton("取消", new DialogInterface.OnClickListener(){                        @Override                      public void onClick(DialogInterface dialog, int which) {                          dialog.cancel();  //关闭进度条                                              }                                        });                  new Thread(){                      public void run(){                          try{                              while(mCount<=100){                                  mpDialog.setProgress(mCount++);                                  Thread.sleep(100);  //每过0.1秒线程执行一次并且给初始值+1,然后给进度条设定当前进度值                            }                              mpDialog.cancel();                          }catch(Exception ex){                              mpDialog.cancel();                          }                      }                  }.start();                  mpDialog.show(); //显示进度条}});}}

源码下载地址: http://download.csdn.net/detail/a85454597/7519683  

0 0