package tw.android;import java.util.Calendar;import android.app.Activity;import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.widget.Button;public class Main extends Activity {    private Button mBtnProgDlg;    private Handler mHandler = new Handler();    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        setupViewComponent();    }        private void setupViewComponent() {        mBtnProgDlg = (Button)findViewById(R.id.btnProgDlg);        mBtnProgDlg.setOnClickListener(btnProgDlgOnClkLis);    }    private Button.OnClickListener btnProgDlgOnClkLis = new Button.OnClickListener() {        public void onClick(View v) {            final ProgressDialog progDlg = new ProgressDialog(Main.this);            progDlg.setTitle("进度条");            progDlg.setMessage("进度...");            progDlg.setIcon(android.R.drawable.ic_dialog_info);            progDlg.setCancelable(false);            progDlg.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);            progDlg.setMax(100);            progDlg.show();                        new Thread(new Runnable() {                 public void run() {                       Calendar begin = Calendar.getInstance();                        do {                            Calendar now = Calendar.getInstance();                            final int iDiffSec = 60 * (now.get(Calendar.MINUTE) - begin.get(Calendar.MINUTE)) +                                            now.get(Calendar.SECOND) - begin.get(Calendar.SECOND);                                            if (iDiffSec * 2 > 100) {                                mHandler.post(new Runnable() {                                    public void run() {                                        progDlg.setProgress(100);                                    }                                });                                                                break;                            }                                                        mHandler.post(new Runnable() {                                public void run() {                                    progDlg.setProgress(iDiffSec * 2);                                }                            });                                                        if (iDiffSec * 4 < 100)                                mHandler.post(new Runnable() {                                    public void run() {                                        progDlg.setSecondaryProgress(iDiffSec * 4);                                    }                                });                            else                                mHandler.post(new Runnable() {                                    public void run() {                                        progDlg.setSecondaryProgress(100);                                    }                                });                        } while (true);                                                progDlg.cancel();                   }            }).start();        }    };}
以上是ProgressDialog代码,ProgressDialog 是需要的时候才显示,工作完后就消失。

更多相关文章

  1. Android文件下载进度条的实现
  2. Android(安卓)有入场动画的Popuwindow
  3. Android(安卓)WindowManager 窗口泄漏的解决记录
  4. android之seekBar
  5. Android为Notification加上一个进度条
  6. Android(安卓)property-animation 占CPU偏高
  7. Android定义一个不消失的悬停通知栏
  8. android卸载应用的进度条
  9. Android(安卓)ImageLoader组件加载图片

随机推荐

  1. php如何使用PHPAnalysis提取关键字中文分
  2. 简单的php多线程解决方法
  3. 教你用PHP实现微信小程序人脸识别刷脸登
  4. 谈一谈php面向对象的理解
  5. php实现文件上传到服务器(含代码)
  6. 十大最主流的PHP框架
  7. 新手应该知道的php多图片上传的实现
  8. php构建一个区块链(含源码)
  9. PHP global 关键词的实例详解
  10. use在php中的使用方法(代码示例)