Android 對話框中的進度條 ProgressDialog
先看效果圖:
首先需要創建ProgressDialog對象,然后使用線程控制進度條顯示,具體源代碼:
package com.yarin.android.TestOnPDialog; import android.app.Activity; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; public class PDialog extends Activity { private Button mButton01,mButton02; int m_count = 0; //聲明進度條對話框 ProgressDialog m_pDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //得到按鈕對象 mButton01 = (Button)findViewById(R.id.Button01); mButton02 = (Button)findViewById(R.id.Button02); //設置mButton01的事件監聽 mButton01.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //創建ProgressDialog對象 m_pDialog = new ProgressDialog(PDialog.this); // 設置進度條風格,風格為圓形,旋轉的 m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 設置ProgressDialog 標題 m_pDialog.setTitle("提示"); // 設置ProgressDialog 提示信息 m_pDialog.setMessage("這是一個圓形進度條對話框"); // 設置ProgressDialog 標題圖標 m_pDialog.setIcon(R.drawable.img1); // 設置ProgressDialog 的進度條是否不明確 m_pDialog.setIndeterminate(false); // 設置ProgressDialog 是否可以按退回按鍵取消 m_pDialog.setCancelable(true); // 設置ProgressDialog 的一個Button m_pDialog.setButton("確定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int i) { //點擊“確定按鈕”取消對話框 dialog.cancel(); } }); // 讓ProgressDialog顯示 m_pDialog.show(); } }); //設置mButton02的事件監聽 mButton02.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub m_count = 0; // 創建ProgressDialog對象 m_pDialog = new ProgressDialog(PDialog.this); // 設置進度條風格,風格為長形 m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 設置ProgressDialog 標題 m_pDialog.setTitle("提示"); // 設置ProgressDialog 提示信息 m_pDialog.setMessage("這是一個長形對話框進度條"); // 設置ProgressDialog 標題圖標 m_pDialog.setIcon(R.drawable.img2); // 設置ProgressDialog 進度條進度 m_pDialog.setProgress(100); // 設置ProgressDialog 的進度條是否不明確 m_pDialog.setIndeterminate(false); // 設置ProgressDialog 是否可以按退回按鍵取消 m_pDialog.setCancelable(true); // 讓ProgressDialog顯示 m_pDialog.show(); new Thread() { public void run() { try { while (m_count <= 100) { // 由線程來控制進度。 m_pDialog.setProgress(m_count++); Thread.sleep(100); } m_pDialog.cancel(); } catch (InterruptedException e) { m_pDialog.cancel(); } } }.start(); } }); } }
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!