Android开发之ProgressDialog进度对话框用法示例
程序员文章站
2022-05-26 16:20:57
本文实例讲述了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开发之基于DialogFragment创建对话框的方法示例
-
Android开发中ProgressDialog简单用法示例
-
Android开发之基于DialogFragment创建对话框的方法示例
-
Android开发之开关按钮用法示例
-
Android开发之图片切割工具类定义与用法示例
-
Android开发之DatePickerDialog、TimePickerDialog时间日期对话框用法示例
-
Android开发之滑动数值选择器NumberPicker用法示例
-
Android开发之ProgressDialog进度对话框用法示例