Android ProgressDialog 加载进度
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" > 5 6 <Button 7 android:layout_width="wrap_content" 8 android:layout_height="wrap_content" 9 android:onClick="progress" 10 android:text="ProgressDialog" /> 11 12 </RelativeLayout>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 public class MainActivity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main); 7 } 8 9 /** 10 * ProgressDialog是AlertDialog类的子类,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画, 11 * 或者为一个指定进度的任务显示一个进度条。它的用处非常广泛,在每次用户操作一个延迟的任务时,我们都必须以进度对话框的形式告诉用户, 12 * 否则用户并不知道操作已经开始,可能会多次操作同一个任务,并有可能导致异常发生。 13 * @param v 14 */ 15 16 public void progress(View v){ 17 final ProgressDialog dialog = new ProgressDialog(this); 18 dialog.setTitle("进度条对话框"); 19 dialog.setMessage("正在加载..."); 20 //dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//旋转轮进度 21 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//水平加载进度条 22 dialog.setMax(200);//默认值100 23 dialog.show(); 24 new Thread(){ 25 public void run() { 26 int index = 0; 27 while(index++ < dialog.getMax()){ 28 dialog.setProgress(index); 29 try { 30 Thread.sleep(100); 31 } catch (InterruptedException e) { 32 e.printStackTrace(); 33 } 34 } 35 //加载完成关闭对话框 36 if(dialog!=null && dialog.isShowing()){ 37 dialog.dismiss(); 38 } 39 } 40 }.start(); 41 } 42 }