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>
 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 }
MainActivity

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM