close

開發平台:

Android studio(version 2.2.3)

測試平台:

ASUS Zenfone6(android 5)

實作內容:

用ProgressDialog取代ProgressBar。

ProgressBar與ProgressDialog用法非常相似,所以code幾乎是一模一樣的。

ProgressDialog主要分成2種樣式,第一種為Horizontal,第二種為Spinner。

 

Step1 使用Thread隨時更新進度條。

class dialog extend Thread{
 @Override
 public void run(){
  //update progressDialog
 }
}

 

Step2-1 Create ProgressDialog。

ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);

 

Step2-2 設定ProgressDialog標題。

progressDialog.setMessage("Loading...");

 

Step2-3 設定ProgressDialog樣式(Horizontal or spinner)。

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

 

Step2-4 show出Dialog。

progressDialog.show();

 

Step2-5 設定目前進度。

progressDialog.setProgress(20);

 

Step2-6 當ProgressDialog完成進度時消失。

progressDialog.dismiss();

 

Step3 把background Thread 處理事項post到Handler中(直接post一個Runnable物件到Handler中),讓Handler通知UI Thread去做更新。

handler.post(new Runnable(){
@Override
public void run(){
 //update ProgressDialog
}
});

 

其他還有一些像是incrementProgressBy()、setSecondaryProgress()、setMax()...等就不再贅述。

測試畫面:

prgressDialog1.jpg

prgressDialog2.jpg

程式碼:

https://github.com/shen0512/ProgressDialog

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 a7069810 的頭像
    a7069810

    紀錄自己的程式人生

    a7069810 發表在 痞客邦 留言(0) 人氣()