不多說了,直接上示例:運行效果如圖:
progressDialog.java
package com.myprogressDialog;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class progressDialog extends Activity {
Button bt1,bt2;
ProgressDialog mDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt1=(Button) findViewById(R.id.button1);
bt2=(Button) findViewById(R.id.button2);
bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mDialog=new ProgressDialog(progressDialog.this);//創建ProgressDialog對象
mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//設置進度條風格,長形
mDialog.setTitle("提示...");//設置標題
mDialog.setMessage("這是一個長形進度條對話框!");//設置提示信息
mDialog.setIcon(R.drawable.tishi);//設置圖標
mDialog.setIndeterminate(false);//設置進度條是否不明確
mDialog.setCancelable(true);//設置是否可以按回退按鈕取消
mDialog.setProgress(0);//設置當前值
mDialog.setMax(100);//設置最大值
mDialog.show();//讓其顯示
new Thread(new Runnable() {
int m=0;
@Override
public void run() {
// TODO Auto-generated method stub
try {//讓線程控制進度條
while (m<=mDialog.getMax()) {
mDialog.setProgress(m++);
Thread.sleep(100);
}
mDialog.cancel();
} catch (Exception e) {
mDialog.cancel();
}
}
}).start();
}
});
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mDialog=new ProgressDialog(progressDialog.this);
mDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mDialog.setTitle("提示...");
mDialog.setMessage("這是一個圓形進度條對話框!");
mDialog.setIcon(R.drawable.tishi);
mDialog.setIndeterminate(false);
mDialog.setCancelable(true);
mDialog.setButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
mDialog.show();
}
});
}
}