Android开发之ProgressDialog进度对话框用法示例

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android开发之ProgressDialog进度对话框用法示例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了AndROId开发之PRogreSSDiaLOG进度对话框用法。分享给大家供大家参考,具体如下:

使用方法:

如果只是普通进度对话框 直接调用ProgressDialog静态方法 show() 即可
创建ProgressDialog 调用方法进行具体设置
setIndeterminate(false); 设置进度条是否显示进度
setMax(MAX_PROGRESS); 设置进度条的最大值
setMessage("..."); 设置对话框执行内容
setProgressStyle(ProgressDialog.STYLE_HORIZONTAL) 设置对话框进度条风格
setProgress() 设置 进度条内的进度值(当前)

效果:

Android开发之ProgressDialog进度对话框用法示例

代码实现:

主要是两种类型

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());       }     });   } }  

以下是布局文件:

 <&#63;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 studio

脚本宝典总结

以上是脚本宝典为你收集整理的Android开发之ProgressDialog进度对话框用法示例全部内容,希望文章能够帮你解决Android开发之ProgressDialog进度对话框用法示例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。