不多说了,直接上示例:运行效果如图:
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();
}
});
}
}