1.进度条对话框效果
2.具体java代码+注释
package com.example.processdialog; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class MainActivity extends Activity { //声明进度条对话框对象 private ProgressDialog dialog; //线程的标识符 private boolean flag=true; //进度条最大值 private static final int PROGRESS_MAX=100; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //创建进度条对话框对象 dialog = new ProgressDialog(this); // 设置进度条的样式 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置样式 //对话框 不终止对话框(如果它为true 代表进度条的值是0) dialog.setIndeterminate(false); //失去焦点的时候,不消失对话框 dialog.setCancelable(false); // 设置消息 dialog.setMessage("正在加载"); // 设置标题 dialog.setTitle("请稍等"); // 进度条总大小 dialog.setMax(PROGRESS_MAX); // 显示出来 dialog.show(); // 设置当前的进度 dialog.setProgress(30); //要放在show()方法之后,否则获取不到progress的值 new Thread() { public void run() { while (flag) { try { // 400毫秒让进度条刷新 Thread.sleep(400); //获取当前进度 int progress = dialog.getProgress(); //进度增加 progress++; //也可以设置dialog.incrementProgressBy(5); //重新设置 dialog.setProgress(progress); //判断是否达到最大值 if (dialog.getProgress() >= PROGRESS_MAX) { //消失 dialog.dismiss(); //线程标识符 flag=false; } } catch (InterruptedException e) { e.printStackTrace(); } } }; }.start(); } }