android中ProgressDialog与ProgressBar的使用详解

来源:互联网 发布:学日语的软件 编辑:程序博客网 时间:2024/06/05 04:16
一 、ProgressDialog
ProgressDialog与ProgressBar在UI中动态显示一个加载图标显示程序运行状态。

ProgressDialog是继承自Android.app.ProgressDialog所设计的互动对话窗口,使用时,必须新建ProgressDialog对象,在运行时会弹出“对话框”作为提醒,此时应用程序后台失去焦点(即此时无法对UI组件进行操作),直到进程结束后,才会将控制权交给应用程序,如果在Activity当中不希望后台失焦,又希望提示User有某后台程序正处于忙碌阶段,那么ProgressBar就会派上用场了。

ProgressDialog mProgressDialog = new ProgressDialog(TestProgerssDialogActivity.this);// 设置mProgressDialog风格mProgressDialog.setProgress(ProgressDialog.STYLE_SPINNER);//圆形mProgressDialog.setProgress(ProgressDialog.STYLE_HORIZONTAL);//水平// 设置mProgressDialog标题mProgressDialog.setTitle("提示");// 设置mProgressDialog提示mProgressDialog.setMessage("这是一个圆形进度条对话框");// 设置mProgressDialog进度条的图标mProgressDialog.setIcon(R.drawable.flag); // 设置mProgressDialog的进度条是否不明确//不滚动时,当前值在最小和最大值之间移动,一般在进行一些无法确定操作时间的任务时作为提示,明确时就是根据你的进度可以设置现在的进度值mProgressDialog.setIndeterminate(false);//mProgressDialog.setProgress(m_count++);// 是否可以按回退键取消mProgressDialog.setCancelable(true);// 设置mProgressDialog的一个ButtonmProgressDialog.setButton("确定", new DialogInterface.OnClickListener(){   @Override   public void onClick(DialogInterface dialog, int which)   {     dialog.cancel();    } });// 显示mProgressDialogmProgressDialog.show(); mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {   @Override   public void onCancel(DialogInterface dialog) {    // TODO Auto-generated method stub    mProgressDialog.hide();    webview.stopLoading();   }  });
当有ProgressDialog时,点击back时,会首先取消ProgressDialog ,以上代码可以监听进度条被取消事件(也就是点击Back键取消ProgressDialog),此时可以在这里作一些取消后台操作的处理。


二、ProgressBar
XML重要属性
android:progressBarStyle:默认进度条样式
android:progressBarStyleHorizontal:水平样式

重要方法
getMax():返回这个进度条的范围的上限
getProgress():返回进度
getSecondaryProgress():返回次要进度
incrementProgressBy(int diff):指定增加的进度
isIndeterminate():指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate):设置不确定模式下
setVisibility(int v):设置该进度条是否可视

重要事件
onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件

<?xml version="1.0" encoding="utf-8"?>   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:orientation="vertical"     android:layout_width="fill_parent"       android:layout_height="fill_parent">       <TextViewandroid:layout_width="fill_parent"  android:layout_height="wrap_content"android:text="Welcome to blog" />       <ProgressBarandroid:id="@+id/rectangleProgressBar"  style="?android:attr/progressBarStyleHorizontal" mce_style="?android:attr/progressBarStyleHorizontal"   android:layout_width="fill_parent"android:layout_height="wrap_content"android:visibility="gone"/>     <ProgressBarandroid:id="@+id/circleProgressBar"  style="?android:attr/progressBarStyleLarge" mce_style="?android:attr/progressBarStyleLarge"android:layout_width="wrap_content"android:layout_height="wrap_content"android:visibility="gone"/>     <Button android:id="@+id/button"    android:text="Show ProgressBar"      android:layout_width="wrap_content"    android:layout_height="wrap_content"    /> </LinearLayout> 



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 暗线插座盒坏了怎么办 焊过电焊眼睛疼怎么办 烧电焊后眼睛痛怎么办? 焊完电焊眼睛疼怎么办 烧电焊后眼睛痛怎么办 用电焊后眼睛痛怎么办 看电焊后眼睛痛怎么办 眼睛焊电焊很痛怎么办 电焊没带眼睛痛怎么办 有东西进眼睛了怎么办 眼睛有东西磨眼怎么办 怀孕了眼睛肿疼怎么办 眼睛疼又红血丝怎么办 用眼过度眼睛疼怎么办 眼睛玩手机视力下降怎么办 看手机眼睛疼该怎么办 眼睛眨一下就痛怎么办 着火了怎么办教案详案 汽车尾灯磕破了怎么办 后尾灯灯罩裂了怎么办 七氟丙烷喷伤了怎么办 冒险岛2fps低怎么办 虐杀原形2很卡怎么办 玩虐杀原形2卡怎么办 虐杀原形2闪退怎么办 电脑显示不出u盘怎么办 电脑不显示u盘怎么办 u盘在电脑不显示怎么办 笔记本不识别u盘怎么办 u盘突然识别不了怎么办 xp电脑读不出u盘怎么办 电脑无法读取u盘怎么办 win7电脑不读u盘怎么办 电脑识别不出u盘怎么办 u盘电脑读不出来怎么办 u盘突然无法识别怎么办 u盘电脑无法识别怎么办 系统无法识别u盘怎么办 手机u盘无法识别怎么办 u盘无法被识别怎么办 电脑不能读取u盘怎么办