1、ProgressDialog简介
ProgressDialog,进度条对话框,可以设置水平进度条和圆形进度条,其中圆形进度条是一个不断旋转的动画,没有实际进度;而水平进度条可以设置当前的进度值。
2、创建ProgressDialog
2.1、创建圆形的ProgressDialog
// 进度计数
int iCount = 0;
private ProgressDialog dialog;
/**
* 显示圆形进度条
*/
private void showCircleDialog() {
iCount = 0;
// 创建ProgressDialog对象,使用该方式创建默认为圆形旋转的进度条STYLE_SPINNER
dialog = ProgressDialog.show(MainActivity.this, "圆形进度条",
"Loading. Please wait...", true);
// 设置ProgressDialog 标题图标
dialog.setIcon(R.drawable.ic_launcher);
// 设置ProgressDialog 按退回按键可以取消
dialog.setCancelable(true);
// 让ProgressDialog显示
dialog.show();
// 创建线程实例
new Thread() {
public void run() {
try {
while (iCount <= 100) {
// 由线程来控制进度。
dialog.setProgress(iCount++);// 设置当前进度值
Thread.sleep(50);
}
dialog.cancel();
} catch (InterruptedException e) {
dialog.cancel();
}
}
}.start();
}
2.2、创建水平的ProgressDialog
// 声明进度条对话框
private ProgressDialog pdDialog = null;
// 进度计数
int iCount = 0;
/**
* 显示水平进度条
*/
protected void showHorDialog() {
iCount = 0;
// 创建ProgressDialog对象
pdDialog = new ProgressDialog(MainActivity.this);
// 设置进度条风格,风格为长形
pdDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 设置ProgressDialog 标题
pdDialog.setTitle("水平进度条");
// 设置ProgressDialog 提示信息
pdDialog.setMessage("正在下载中……");
// 设置ProgressDialog 标题图标
pdDialog.setIcon(R.drawable.ic_launcher);
// 设置ProgressDialog 的进度条是否不明确:true为是不明确
pdDialog.setIndeterminate(false);
// 设置ProgressDialog 是否可以按退回按键取消
pdDialog.setCancelable(false);
// 让ProgressDialog显示
pdDialog.show();
// 创建线程实例
new Thread() {
public void run() {
try {
while (iCount <= 100) {
// 由线程来控制进度。
pdDialog.setProgress(iCount++);
Thread.sleep(50);
}
pdDialog.cancel();
} catch (InterruptedException e) {
pdDialog.cancel();
}
}
}.start();
}