Android ProgressDialog 加载进度

时间:2024-07-22 14:04:56

Android ProgressDialog  加载进度

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" > <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="progress"
android:text="ProgressDialog" /> </RelativeLayout>
 public class MainActivity extends Activity {

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} /**
* ProgressDialog是AlertDialog类的子类,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,
* 或者为一个指定进度的任务显示一个进度条。它的用处非常广泛,在每次用户操作一个延迟的任务时,我们都必须以进度对话框的形式告诉用户,
* 否则用户并不知道操作已经开始,可能会多次操作同一个任务,并有可能导致异常发生。
* @param v
*/ public void progress(View v){
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("进度条对话框");
dialog.setMessage("正在加载...");
//dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//旋转轮进度
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//水平加载进度条
dialog.setMax(200);//默认值100
dialog.show();
new Thread(){
public void run() {
int index = 0;
while(index++ < dialog.getMax()){
dialog.setProgress(index);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//加载完成关闭对话框
if(dialog!=null && dialog.isShowing()){
dialog.dismiss();
}
}
}.start();
}
}

MainActivity