Android控件--ProgressBar

1、简介
【Android控件--ProgressBar】 是进度条组件,通常用于向用户展示某个耗时操作完成的进度,而不让用户感觉是程序失去了响应,从而更好地提升用户界面的友好性 。

Android控件--ProgressBar

文章插图
就像我现在进行的 apk 下载的任务,它都是通过进度条通知用户下载的进度,如果没有了这个进度条,不能实时地呈现下载进度的话,用户就会想是不是程序失去响应,而要下载的文件比较大的话,用户肯定会想知道下载到了什么地方,什么时候会完成,有了进度条都可以打消用户的这些疑虑 。
2、显示样式
用 Style 属性来给确定样式,有两种方式,第一种就是 API文档中说明的方式:
设置的方式如下:
Android控件--ProgressBar

文章插图
style="@android:style/Widget.ProgressBar.Horizontal"
第二种就是使用系统的attr,下面的方式是系统的style:
style="?android:attr/progressBarStyleHorizontal"style="@android:style/Widget.ProgressBar.Horizontal"
这两种都能实现水平样式,但效果并不一样 。
我们可以通过你的SDK目录下…\\-25\data\res\\.xml 查看系统的样式源码 。如果是使用 的朋友就不需要这样了,可以Ctrl + 左键进入指定样式的源码 。
Android控件--ProgressBar

文章插图
系统自带的样式中最常用的就是以下三种了,分别代表小环形进度条,大环形进度条,水平进度条 。这里并没有中型环形进度条,因为如果不设置 style 属性或者设置为就显示为中等大小 。
Android控件--ProgressBar

文章插图
3、分类
分为精确的和不精确的:
: 就是关于设置不精确的属性,因为是不明确的意思,所以如果设置为true的话,滚动条的当前值会自动在最小到最大值之间来回移动,形成这样一个动画效果,这个只是告诉别人“我正在工作”,但不能提示工作进度到哪个阶段 。主要是在进行一些无法确定操作时间的任务时作为提示 。而设置为 false 就是根据我们的进度可以设置现在的进度值 。
设置为true时,可能是圆形的滚动条或者水平的滚动条(由样式决定),但是我们一般时候,是直接使用Style类型来区分圆形还是水平的 。
我们不仅可以在面板中显示不同风格的,也可以在标题栏上设置,接下来就通过一个小案例来说明如何显示精确与不精确的两种 :
public class ProgressBar extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 启用窗口特征,启用带进度和不带进度的进度条requestWindowFeature(Window.FEATURE_PROGRESS);requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);setContentView(R.layout.activity_progress_bar);// 显示两种进度条setProgressBarVisibility(true);setProgressBarIndeterminateVisibility(true);// Max=10000