Android中ProgressDialog的使用

 

一般来说,使用进度条的情况都需要新起个线程来对进度条进行显示操作。
如下面的代码:

pdialog = new ProgressDialog(MyService.this, 0);   
pdialog.setButton("cancel", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int i) {
  dialog.cancel();
 }
});
pdialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
 public void onCancel(DialogInterface dialog) {
  finish();
 }
});
pdialog.setCancelable(true);
pdialog.setMax(1000);
pdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pdialog.show();

Thread th = new Thread() {
 public void run() {
  try {
   while(!isFinish && pdialog.getProgress() < 1000) { // 该处的变量由其他线程来改变。
    pdialog.incrementProgressBy(10);
    Thread.sleep(10); // 此处只为观看效果而加
   }
   pdialog.cancel();
  } catch (InterruptedException e) {
   pdialog.cancel();
  }
 }
};
th.start();

startService(i);

对以上代码说明:
1、ProgressDialog的构造方法:第一个参数表明改Dialog的所有者,第二个参数表明该Dialog的Theme样式。
2、pdialog.setButton为该Dialog添加Button
3、pdialog.setOnCancelListener为Dialog添加取消事件的监听。当然使用此监听要把Dialog的canelable设置为true。
4、pdialog.setProgressStyle设置Dialog的Style。一种为ProgressDialog.STYLE_SPINNER,表示圆圈循环类型;一种为ProgressDialog.STYLE_HORIZONTAL,表示水平类型。从常量名很容易区分。

你可能感兴趣的:(thread,android)