Creating a ProgressDialog
ProgressDialog是AlertDialog類的延伸,它可以顯示一個紡車形式的進度動畫,表示未確定進度的任務,或是進度條,表示已定義進度的任務。該對話框可以提供按鈕,比如取消下載的按鈕。
可以簡單地呼叫ProgressDialog.show()打開進度對話框。比如圖顯示的進度對話框可以輕鬆地實現,無須通過onCreateDialog(int)回調方法管理對話框。
ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "", "Loading. Please wait...", true);
第一個參數是應用程式Context,第二個參數是對話框的標題,第三個參數是訊息,最後一個參數是顯示是否是不確定的進度(此參數只與創建進度條有關)。
進度對話框的預設形式是向紡車,如果你想要創建進度條來顯示下載進度,需要一些程式碼,以下將一一討論。
Showing a Progress Bar
實現進度條的步驟:
- ProgressDialog(context)建構式初始化進度對話框。
- setProgressStyle(int)設定進度對框的樣式為"STYLE_HORIZONTAL",即設定任何屬性,比如訊息。
- 當你準備好顯示對話框,呼叫show()或從onCreateDialog(int)回調方法回傳ProgressDialog。
- 你可以增加顯示在進度條上的進度,呼叫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物件實現第二個執行續的通訊,會在之後學習到。
沒有留言:
張貼留言