Android ProgressBar和ProgressDialog用法详解
108 浏览量
更新于2024-09-03
收藏 69KB PDF 举报
ProgressBar 和 ProgressDialog 的使用详解
ProgressBar 是 Android 中的一个进度条控件,用于显示任务的进度或进度条的变化。ProgressDialog 是一个对话框控件,用于显示进度条和文字信息。下面是 ProgressBar 和 ProgressDialog 的使用详解。
一、ProgressBar
1. 常用类型
ProgressBar 有多种类型,包括不确定式圆形进度条、条形进度条和标题栏不确定式进度条等。
1.1 不确定式圆形进度条
不确定式圆形进度条是一种常用的进度条类型,它不显示具体的进度百分比,只显示一个圆形的进度条。可以使用以下样式来实现:
style="@android:style/Widget.Holo.Light.ProgressBar"
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Large"
这两种样式都可以实现不确定式圆形进度条,但是它们的显示效果有所不同。前者使用 Holo 主题,后者使用 DeviceDefault 主题。
1.2 条形进度条
条形进度条是一种显示进度百分比的进度条,可以使用以下样式来实现:
style="@android:style/Widget.ProgressBar.Horizontal"
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Horizontal"
这两种样式都可以实现条形进度条,但是它们的显示效果有所不同。前者使用 Holo 主题,后者使用 DeviceDefault 主题。
1.3 标题栏不确定式进度条
标题栏不确定式进度条是一种显示在标题栏右侧的不确定式圆形进度条,可以使用以下代码来实现:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
1.4 标题栏条形进度条
标题栏条形进度条是一种显示在标题栏顶部的条形进度条,可以使用以下代码来实现:
requestWindowFeature(Window.FEATURE_PROGRESS);
setProgressBarVisibility(true);
可以通过 setProgess(int) 方法设置当前进度,最大值为 10000。
2. 常用控件属性
ProgressBar 有多种控件属性,包括:
* android:max:最大显示进度
* android:progress:第一显示进度
* android:secondaryProgress:第二显示进度
* android:indeterminate:置是否精确显示;true 为不精确,false 为精确
* android:progressDrawable:加载自定义样式
3. 自定义样式
可以通过控件的 android:progressDrawable 属性引用自定义的 drawable 文件实现自定义样式。一般需定义三个 drawable 文件:背景、进度条和第二进度条。
二、ProgressDialog
ProgressDialog 是一个对话框控件,用于显示进度条和文字信息。可以使用以下代码来实现:
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("标题");
progressDialog.setMessage("消息");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMax(100);
progressDialog.setProgress(50);
progressDialog.show();
ProgressDialog 有多种样式,包括水平进度条和圆形进度条等。可以使用 setProgressStyle() 方法设置进度条的样式。
ProgressBar 和 ProgressDialog 是 Android 中两个常用的控件,用于显示进度条和文字信息。通过设置控件属性和自定义样式,可以实现多种不同的进度条效果。
2022-07-07 上传
2015-06-27 上传
184 浏览量
2021-01-30 上传
2020-08-30 上传
2022-03-07 上传
2021-03-25 上传
2021-05-13 上传
2021-07-08 上传
weixin_38713306
- 粉丝: 3
- 资源: 883
最新资源
- ReactMsgBoard:基于React+NodeJs+MongoDB的简易留言板
- psl-er-product
- AIPipeline-2019.9.12.18.55.27-py3-none-any.whl.zip
- groupe5
- 导入:基于sinatra的基于django的迷你框架。 与Django完全兼容
- PopupMaker-Extension-Boilerplate:Popup Maker 扩展开发的基础,旨在为构建扩展提供标准化指南
- WAS:是各种技能的集合
- 空中数据采集与分析-项目开发
- [008]RS232串口通信基本知识与实例.zip上位机开发VC串口学习资料源码下载
- AIJIdevtools-0.5.2-py3-none-any.whl.zip
- 多模式VC++窗体源代码(可以精简显示、隐藏菜单栏等)
- AtherysRogue:基于A'therys宇宙的无赖游戏
- grid-based_framework
- microservices-integrate-system:用于显示部署应用程序过程的系统
- jest-test:开玩笑
- bookclub:虚拟读书会会议应用程序(实验性)