ProgressDialog m_pDialog = new ProgressDialog(this);
m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置进度条风格,风格为圆形,旋转的
//m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
m_pDialog.setTitle("提示");
m_pDialog.setMessage("正在下载离线地图!");
m_pDialog.setIndeterminate(false);
// 是否可以返回取消
m_pDialog.setCancelable(false);
//设置进度条最大值,默认为100
m_pDialog.setMax(Integer.valueOf((String) msg.obj));
//设置进度条当前值
m_pDialog.setProgress(0);
//进度条增加
m_pDialog.incrementProgressBy(1);
//进度条减少
m_pDialog.incrementProgressBy(-1);
//设置ProgressDialog 标题图标
m_pDialog.setIcon(R.drawable.blue_search);
//设置ProgressDialog 的进度条是否不明确
m_pDialog.setIndeterminate(false);
//添加按钮
m_pDialog.setButton("暂停", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//改变按钮中的文字
Button button = m_pDialog.getButton(ProgressDialog.BUTTON1);
if(button.getText().toString().equals("暂停")){
button.setText("继续");
}else{
button.setText("暂停");
}
//按钮点击后,提示框不会消失
try {
Field field = dialog.getClass().getSuperclass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
}catch (Exception e){
e.printStackTrace();
}
}
});
m_pDialog.setButton2("后台", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//按钮点击后,提示框消失
try {
Field field = dialog.getClass().getSuperclass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
}catch (Exception e){
e.printStackTrace();
}
}
});
m_pDialog.show();
Android带进度条对话框ProgressDialog的使用
于 2014-10-11 11:12:36 首次发布
