手机版

安卓进度条进度条和进度条对话框演示

时间:2021-11-19 来源:互联网 编辑:宝哥软件园 浏览:

在做手机开发的时候,我们经常会遇到一些耗时的操作。这时,进度条开始派上用场了。这个演示展示了进度条进度条和进度条对话框。一、ProgressDialog进度对话框,效果如图:

代码如下:复制代码如下://进度对话框按钮监听类prossbutton监听器实现onclick监听器{ @ override public void onclick(view v)。{ my dialog=progress dialog . show(progress bardemo . this,'进度条标题','进度条内容',true);new thread(){ public void run(){ try {/*把要在后台运行的程序片段写在这里*//*为了清晰看到效果,以暂停3秒为例*/sleep(3000);} catch(异常e){ e . printstacktrace();}最后{//卸载创建的myDialog对象。mydialog . mission();} } }.start();/*开始运行运行线程*/}} II。进度条对话框,其中进度条比例在两种情况下动态显示。1.handle方法的效果图如下:

代码如下:复制代码代码如下://进度条处理按钮监听类ProssBarHandleButtonListener实现OnClickListener { @ Override public void onClick(View v){ progress bar句柄。设置可见性(视图.VISIBLE);我的prossbar手柄文本。设置可见性(视图. VISIble);progressbarhandle。setmax(1000);new Thread(){ public void run(){ for(int I=0;I=1000){ 0尝试{ /*在这里写上运行的进度条*/消息消息=新消息();味精。什么=1;msg.getData().putInt('size ',I);汉德勒。发送消息(msg);//手柄发送消息/* 为了明显看见效果,以暂停一秒作为示范*/sleep(100);i=10}捕捉(异常e){ handler。获取消息(-1).sendToTarget();e . print stack trace();} } } }.start();/* 开始运行运行线程*/} }//句柄接收消息private Handler=new Handler(){ @ Override public void handleMessage(消息消息){ switch(消息消息)。什么){ case 1: progressbarhandle。设置进度(消息。getdata().getInt(' size ');float num=(float)progress bar handle。getprogress()/(float)progress barhandle。getmax();int result=(int)(num * 100);系统。出去。println('进度条句柄。GetProgress()======'进度条句柄。GetProgress());myProssBarhandleText.setText(结果"%");if(进度条句柄。getprogress()==progress bar handle。getmax()){吐司。制作文本(进度bardemo。“这个,”下载成功', 1).show();设置可见性(视图goen);我的prossbar手柄文本。设置可见性(视图goen);} breakcase-1: Toast。MakeText(ProgressBarDemo。“这个,”下载失败', 1).show();打破;} } };2、使用AsyncTask方法,效果图与处理效果一样具体代码如下:复制代码代码如下://进度条同步任务按钮监听类ProssBarSyncButtonListener实现OnClickListener { @ Override public void onClick(View v){ new async loader().执行((无效)无效;} } //AsyncTask任务执行类AsyncLoader扩展了AsyncTaskVoid,整数,整数{ @Override//在doInBackground方法执行前执行受保护的void onPreExecute(){ progress bar handle。设置可见性(视图. VISIble);我的prossbar手柄文本。设置可见性(视图. VISIble);progressbarhandle。setmax(100000);}//做具体的耗时操作受保护的整数接地(无效.params) { //这里以一万的进度条刻度来显示int TotalSize=100000 for(int I=0;我10万;){ PublishProgreSs(I);//通过推送消息传递数据给onProgressUpdate方法执行i=10}返回totalSize}//在doInBackground方法执行过程中执行受保护的空状态更新(整数.进度){ progressBarHandle.setProgress(进度[0]);float num=(float)progress bar handle。getprogress()/(float)progress barhandle。getmax();int result=(int)(num * 100);myProssBarhandleText.setText(结果"%");}//在doInBackground方法结束后执行受保护的void onPostExecute(整数结果)下载成功,下载了结果,1)。show();我的prossbar手柄文本。设置可见性(视图goen);设置可见性(视图goen);} }点击下载演示示例

版权声明:安卓进度条进度条和进度条对话框演示是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。