Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)
Posted 路宇~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)相关的知识,希望对你有一定的参考价值。
前言:
使用ProgressDialog可以实现多种样式,今天我们就来实现模拟水平进度条更新的效果。
具体实现:
布局页面一个按钮就不再说明。
下面来看在Activity代码中的实现:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private int iPos = 0; //初始化进度条的进度值
private ProgressDialog progressDialog; //声明进度条对话框的对象
private Button btn_progressDialog; //声明Button按钮对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_progressDialog = findViewById(R.id.btn_progressDialog);
btn_progressDialog.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_progressDialog:
progressDialog = new ProgressDialog(this);
progressDialog.setTitle("正在加载"); //设置进度条的标题
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置对话框样式为带有水平进度条的对话框
progressDialog.setMax(100); //设置进度条的最大值为100
progressDialog.setMessage("具体内容"); //设置具体的内容
progressDialog.show(); //显示对话框
//开启一个子线程模拟进度条更新进度
new Thread(new Runnable() {
@Override
public void run() {
while (progressDialog.getMax() - iPos > 0) {
iPos++;
progressDialog.setProgress(iPos);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
progressDialog.dismiss(); //进度完成时对话框关闭
iPos=0;
}
}).start();
break;
}
}
}
具体效果如图所示:
以上是关于Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)的主要内容,如果未能解决你的问题,请参考以下文章