android中ProgressDialog与ProgressBar的使用详解
程序员文章站
2023-12-01 20:17:16
一 、progressdialogprogressdialog与progressbar在ui中动态显示一个加载图标显示程序运行状态。progressdialog是继承自an...
一 、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的一个button
mprogressdialog.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">
<textview
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="welcome to blog" />
<progressbar
android: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"
/>
<progressbar
android: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>
上一篇: IOS百度地图导航开发功能实现简述
下一篇: 令按钮悬浮在(手机)页面底部的实现方法
推荐阅读
-
详解vue中axios的使用与封装
-
详解Python中dict与set的使用
-
android中ProgressDialog与ProgressBar的使用详解
-
Java中==符号与equals()的使用详解(测试两个变量是否相等)
-
Android中的SpannableString与SpannableStringBuilder详解
-
Android 中RxPermissions 的使用方法详解
-
Android中的android:layout_weight使用详解
-
Android中Parcelable的使用详解
-
Android 中Lambda表达式的使用实例详解
-
Android中gravity与layout_gravity的使用区别分析