星期日, 10月 02, 2011

Creating a ProgressDialog

Android應用程式學習筆記

Creating a ProgressDialog

ProgressDialog是AlertDialog類的延伸,它可以顯示一個紡車形式的進度動畫,表示未確定進度的任務,或是進度條,表示已定義進度的任務。該對話框可以提供按鈕,比如取消下載的按鈕。

可以簡單地呼叫ProgressDialog.show()打開進度對話框。比如圖顯示的進度對話框可以輕鬆地實現,無須通過onCreateDialog(int)回調方法管理對話框。



ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "", 
                        "Loading. Please wait...", true);

第一個參數是應用程式Context,第二個參數是對話框的標題,第三個參數是訊息,最後一個參數是顯示是否是不確定的進度(此參數只與創建進度條有關)。

進度對話框的預設形式是向紡車,如果你想要創建進度條來顯示下載進度,需要一些程式碼,以下將一一討論。


Showing a Progress Bar

實現進度條的步驟:

  1. ProgressDialog(context)建構式初始化進度對話框。
  2. setProgressStyle(int)設定進度對框的樣式為"STYLE_HORIZONTAL",即設定任何屬性,比如訊息。
  3. 當你準備好顯示對話框,呼叫show()或從onCreateDialog(int)回調方法回傳ProgressDialog。
  4. 你可以增加顯示在進度條上的進度,呼叫setProgress(int)傳入百分之百完成的數值或是呼叫incrementProgressBy(int)增加一個百分之百完成的數值。

實現以上步驟大概是這樣子:


ProgressDialog progressDialog;
progressDialog = new ProgressDialog(mContext);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);

以上是簡單的設定進度條,建立進度對話框所需要的大部分程式碼實際上牽涉到進度的更新。你可能會發現必須為你的工作建立第二個執行續,然後用Handler物件向Activity的UI執行續回報進度。那如何使用Handler物件實現第二個執行續的通訊,會在之後學習到。






沒有留言:

張貼留言