Android开发之ProgressDialog进度对话框用法示例
本文实例讲述了Android开发之ProgressDialog进度对话框用法。分享给大家供大家参考,具体如下:
使用方法:
| 如果只是普通进度对话框 | 直接调用ProgressDialog静态方法 show() 即可 |
| 创建ProgressDialog | 调用方法进行具体设置 |
setIndeterminate(false); |
设置进度条是否显示进度 |
setMax(MAX_PROGRESS); |
设置进度条的最大值 |
setMessage("..."); |
设置对话框执行内容 |
setProgressStyle(ProgressDialog.STYLE_HORIZONTAL) |
设置对话框进度条风格 |
setProgress() |
设置 进度条内的进度值(当前) |
效果:

代码实现:
主要是两种类型
1.带耗时操作 showIndeterminate
2.不带耗时操作 showProgress
具体实现:
public class MainActivity extends Activity {
final static int MAX_PROGRESS = 100;
//虚拟 填充长度为100的数组
private int[] data = new int[50];
//记录进度对话框完成百分比
int progressStatus = 0;
int hasDta = 0;
ProgressDialog progressDialog01,progressDialog02;
private Button buttonDate;
private Button buttonTime;
//创建一个负责更新进度的Handler
Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
//表明消息是本程序发送的
if (msg.what == 0x111){
progressDialog02.setProgress(progressStatus);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonDate = (Button) findViewById(R.id.dataBn);
buttonTime = (Button) findViewById(R.id.timeBn);
iniClick();//Binding the listeners for you program
}
public void showSpinner(View source){
//用静态方法显示环形进度条
ProgressDialog.show(this,"任务执行中","热内执行中 请等待...",false,true);
}
public void showIndeterminate(View source){
progressDialog01 = new ProgressDialog(MainActivity.this);
//设置对话框标题
progressDialog01.setTitle("任务正在执行中");
//设置对话框执行内容
progressDialog01.setMessage("任务正在执行中敬请等待~~~");
//设置对话框“取消” 按钮关闭
progressDialog01.setCancelable(true);
//设置对话框进度条风格
progressDialog01.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置进度条是否显示进度
progressDialog01.setIndeterminate(true);
progressDialog01.show();
}
public void showProgress(View source){
//将进度条完成重设为0
progressStatus = 0;
//重新开始填充数组
hasDta = 0;
progressDialog02 = new ProgressDialog(MainActivity.this);
progressDialog02.setMax(MAX_PROGRESS);
//设置对话框标题
progressDialog02.setTitle("任务正在执行中");
//设置对话框执行内容
progressDialog02.setMessage("任务正在执行中敬请等待~~~");
//设置对话框“取消” 按钮关闭
progressDialog02.setCancelable(false);
//设置对话框进度条风格
progressDialog02.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置进度条是否显示进度
progressDialog02.setIndeterminate(false);
progressDialog02.show();
new Thread(){//模拟耗时操作
@Override
public void run() {
while (progressStatus < MAX_PROGRESS){
//bar1获取完成工作的百分比
progressStatus += (int) (Math.random()*15);
try{
Thread.sleep(1000);
}catch (InterruptedException e){
e.printStackTrace();
}
//更新ProgressBar
mHandler.sendEmptyMessage(0x111);
}
//任务完成进度条关闭
progressDialog02.dismiss();
}
}.start();
}
public void iniClick(){
//set listener for your Date button
buttonDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showIndeterminate(MainActivity.this.getWindow().getDecorView());
}
});
//set listener for your Time button
buttonTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showProgress(MainActivity.this.getWindow().getDecorView());
}
});
}
}
以下是布局文件:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/idtatabHost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_weight="1">
<Button
android:id="@+id/dataBn"
android:text="一般进度条"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" />
<Button
android:id="@+id/timeBn"
android:text="带耗时进度条"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" />
</LinearLayout>
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
- 实例详解Android自定义ProgressDialog进度条对话框的实现
- Android自定义ProgressDialog进度等待框
- Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
- Android 自定义ProgressDialog进度条对话框用法详解
- Android 中通过实现线程更新Progressdialog (对话进度条)
- Android ProgressDialog进度条使用详解
- Android编程实现加载等待ProgressDialog的方法
- android自定义ProgressDialog加载效果
- Android自定义ProgressDialog加载图片
- Android ProgressDialog使用总结
相关文章
Android中APK签名工具之jarsigner和apksigner详解
这篇文章主要给大家介绍了关于Android中APK签名工具之jarsigner和apksigner的相关资料,文中介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-06-06
Android Canvas方法总结最全面详解API(小结)
本篇文章主要介绍了Android Canvas方法总结最全面详解API(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11
Android Retrofit实现多图片/文件、图文上传功能
Retrofit是Square开发的一个Android和Java的REST客户端库。这个库非常简单并且具有很多特性,相比其他的网络库,更容易让初学者快速掌握2017-03-03
Android ImageView Src 和Background 区别
这篇文章主要介绍了Android ImageView Src 和Background 区别的相关资料,需要的朋友可以参考下2016-09-09


最新评论