转载自:
ProgressDialog的基本用法
ProgressDialog为进度对话框。android手机自带的对话框显得比较单一,我们可以通过ProgressDialog来自己定义对话框中将要显示出什么东西。
首先看看progressDialog里面的方法
setProgressStyle:设置进度条风格,风格为圆形,旋转的。
setTitlt:设置标题
setMessage:设置提示信息;
setIcon:设置标题图标;
setIndeterminate:设置ProgressDialog 的进度条是否不明确;这个属性对于ProgressDailog默认的转轮模式没有实际意义,默认下设置为true,它仅仅对带有ProgressBar的Dialog有作用。修改这个属性为false后可以实时更新进度条的进度。
setCancelable:设置ProgressDialog 是否可以按返回键取消;
CancelListner:当前Dialog强制取消之后将会被执行,通常用来清理未完成的任务。
setButton:设置ProgressDialog 的一个Button(需要监听Button事件);
show:显示ProgressDialog。
cancel:删除progressdialog
dismiss: 删除progressdialog 作用和cancel相同
setProgress(intCounter);更新进度条,当然一般都需要Handler的结合来更新进度条
<!--EndFragment-->
然后我们看看效果



实现代码如下
- <span style="">package cn.android;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.Toast;
-
- public class SecondActivity extends Activity implements Runnable{
-
- private Button b_dialog,b_dialog1,button;
- private ProgressDialog pd,pd1;
- private int count;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.second);
- b_dialog = (Button)this.findViewById(R.id.button_dialog);
- b_dialog1 = (Button)this.findViewById(R.id.Button_dialog1);
-
- b_dialog.setOnClickListener(listener);
- b_dialog1.setOnClickListener(listener);
- </span>
- <span style=""> }
-
- private OnClickListener listener = new OnClickListener() {
-
- public void onClick(View v) {
-
- int id = v.getId();
- if(id == R.id.button_dialog){
-
-
-
- pd = ProgressDialog.show(SecondActivity.this, "自动关闭对话框", "Working,,,,,,1秒", true, false);
- Thread thread = new Thread(SecondActivity.this);
- thread.start();
- }else if(id == R.id.Button_dialog1){
- pd1 = new ProgressDialog(SecondActivity.this);
- pd1.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
- pd1.setTitle("提示");
- pd1.setMessage("这是一个条状进度条对话框");
- pd1.setIcon(R.drawable.secondback);
-
- pd1.setIndeterminate(false);
- pd1.setCancelable(true);
- pd1.setProgress(100);
- pd1.show();
- count = 0;
- new Thread() {
- public void run() {
- try {
- while(count <= 100) {
-
- pd1.setProgress(count++);
- Thread.sleep(100);
- }
- pd1.cancel();
- } catch (Exception e) {
- pd1.cancel();
- }
- }
- }.start();
- }
- }
- };
-
- public void run() {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- handler.sendEmptyMessage(0);
- }
-
- private Handler handler = new Handler(){
-
- public void handleMessage(Message msg){
- pd.dismiss();
- Toast.makeText(SecondActivity.this, "对话框就消失了", 3).show();
- }
- };
-
-
- class Bt1DialogListener implements DialogInterface.OnClickListener {
- @Override
- public void onClick(DialogInterface dialog, int which) {
-
- dialog.cancel();
- }
- }
-
- }
- </span>
(转)ProgressDialog用法详解
原文:http://www.cnblogs.com/rwind/p/5483652.html