我們在開發過程中知道ProgressDialog本身就是進度對話框,開發程式員可以設定進度對話框中的進度條内容,我們在使用ProgressDialog執行個體時常用的方法包括:
01、進度條不顯示進度值:setIndeterminate(boolean indeterminate);
02、設定進度條最大值:setMax(int max);
03、設定進度條的進度值:setProgress(int value);
04、設定進度條的風格:setProgressStyle(int style);
當使用者單擊按鈕時系統啟動進度框,該進度框顯示一個執行任務完成的進度。一般我們應用在上傳圖檔,上傳檔案等操作時,顯示一個進度條表示上傳完成度。具體程式操作如下:
public class ProgressDialogTest extends Activity
{
//程式模拟上傳進度為100的數組
private int [ ] data=new int[100];
int hasData=0;
//定義進度對話框的辨別
final int PROGRESS_DIALOG=JD;
//設定進度框完成的百分比
int progressStatus=0;
ProgressDialog pd;
//定義一個負責更新的進度Handler
Handler handler;
@OVerride
public void onCreate (Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button Bn=(Button) findViewById(R.id.exec);
Bn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
showDialog(PROGRESS_DIALOG);
}
});
handler= new Handler()
{
@Override
public void handleMessage ( Message msg)
{ //發送消息狀态
if(msg.what==JD)
{ pd.setProgress(progressStatus);
}
}
};
}
@Override
public Dialog onCreateDialog(int id,Bundle status)
{
Systm.out.printIn("......careat....");
switch(id)
{
case PROGRESS_DIALOG:
//建立進度框
pd= new ProgressDialog(this);
//設定進度框标題
pd.setTitle("上傳進度完成百分比")
//設定進度框顯示内容
pd.setMessage("剩餘進度完成百分比")
//設定進度框風格
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); //①
Pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //②
break;
}
return pd;
}
如上程式中備注資訊:
① 号代碼設定進度條風格為圓形風格(不斷旋轉的圓圈);
②号代碼設定進度條風格為普通的水準進度條。
備注:将②号代碼注釋掉,也就是顯示圓形風格進度條,如果将①号代碼注釋掉,也就顯示水準風格的進度條。上面代碼運作樣式結果如下:
①号進度條樣式
②号進度條樣式