**顯示操作進度的對話框**
1、使用上一篇創建的同一項目,在activity_main.xml文件中添加一個Button:
~~~
<Button
android:id="@+id/btn_dialog3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClick3"
android:text="Click to display a detailed progress dialog" />
~~~
2、在MainActivity.java文件中添加具體的進度條實現代碼:
首先添加onClick3()方法:
~~~
public void onClick3(View v) {
showDialog(1);// id為1,在調用回調方法onCreateDialog()時,將id傳進去,使其選擇case 1情況。
progressDialog.setProgress(0);// 從0開始
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 1; i <= 10; i++) {
try {
Thread.sleep(1000);
progressDialog.incrementProgressBy(100 / 10);// 步進為10
} catch (InterruptedException e) {
// TODO: handle exception
e.printStackTrace();
}
}
progressDialog.dismiss();// 銷毀對話框
}
}).start();
}
~~~
再在onCreateDialog()回調方法中添加id=1時的代碼(即實現顯示操作進度對話框的代碼):
~~~
case 1:
progressDialog = new ProgressDialog(this);
progressDialog.setIcon(R.drawable.ic_launcher);
progressDialog.setTitle("Downloading files...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 設置進度條樣式
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",// 設置OK按鈕
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "OK clicked!",
Toast.LENGTH_SHORT).show();
}
});
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",// 設置取消按鈕
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Cancel clicked!",
Toast.LENGTH_SHORT).show();
}
});
return progressDialog;
~~~
3、運行一下,效果如下:

**[點擊此處下載完整代碼~](http://download.csdn.net/detail/u012904198/7307257)**
- 前言
- Android應用程序剖析
- (一)——生命周期
- (二)——使用Intent傳數據之通用方式
- (三)——使用靜態變量傳遞數據
- (四)——通過剪切板傳遞數據
- (五)——通過全局變量傳遞數據
- (六)——從Activity返回數據
- adt-bundle-linux-x86_64-20131030下新建工程提示找不到adb和R.java問題的解決
- Eclipse啟動時提示fail to create the Java Virtual Machine問題的解決
- Android常見UI組件之ListView(一)
- Android常見UI組件之ListView(二)——定制ListView
- (七)——顯示對話框窗口
- (八)——顯示進度對話框
- (九)——更復雜的進度對話框
- (十)——使用意圖鏈接活動
- (十一)——從意圖返回結果
- (十二)——使用意圖傳遞數據的幾種方式
- (十三)——碎片(一)
- (十四)——在運行時添加碎片(附源碼)
- (十五)——碎片的生命周期(附源碼)
- (十六)——碎片之間進行交互(附源碼)
- (十七)——使用意圖調用內置應用程序
- (十八)——使用意圖篩選器和實現瀏覽網頁(附源碼)