属性:
android:max:进度条的最大值
android:progress:进度条已完成进度值
android:indeterminate:如果设置成true,则进度条不能精确显示进度
style=“?android:attr/progressBarStyleHorizontal” 水平进度条
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ProgressBar style="?android:attr/progressBarStyleHorizontal" android:max="100" android:layout_width="300dp" android:layout_height="wrap_content" /> <Button android:text="显示和隐藏进度条" android:onClick="shClick" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
ProgressBar的使用:
1、ProgressBar有两个进度,一个是android:progress,另一个是android:secondaryProgress。后者主要是为缓存需要所涉及的,比如在看网络视频时候都会有一个缓存的进度条以及还要一个播放的进度,在这里缓存的进度就可以是android:secondaryProgress,而播放进度就是android:progress。
2、ProgressBar分为确定的和不确定的,上面说的播放进度、缓存等就是确定的。相反地,不确定的就是不清楚、不确定一个操作需要多长时间来完成,这个时候就需要用的不确定的ProgressBar了。这个是由属性android:indeterminate来控制的,如果设置为true的话,那么ProgressBar就可能是圆形的滚动条或者水平的滚动条(由样式决定)。默认情况下,如果是水平进度条,那么就是确定的。
3、ProgressBar的样式设定其实有两种方式,在API文档中说明的方式如下:
Widget.ProgressBar.Horizontal Widget.ProgressBar.Small Widget.ProgressBar.Large Widget.ProgressBar.Inverse Widget.ProgressBar.Small.Inverse Widget.ProgressBar.Large.Inverse
使用的时候可以这样:style=“@android:style/Widget.ProgressBar.Small”。另外还有一种方式就是使用系统的attr,上面的方式是系统的style:
style="?android:attr/progressBarStyle" style="?android:attr/progressBarStyleHorizontal" style="?android:attr/progressBarStyleInverse" style="?android:attr/progressBarStyleLarge" style="?android:attr/progressBarStyleLargeInverse" style="?android:attr/progressBarStyleSmall" style="?android:attr/progressBarStyleSmallInverse" style="?android:attr/progressBarStyleSmallTitle"
ProgressBar几种比较常用的属性:
布局中设置:
android:progress=“50”——第一显示进度
android:secondaryProgress=“80”——第二显示进度
android:indeterminate=“true”——设置是否精确显示,true表示不精确显示进度,false表示精确显示进度
使用Java代码设置:
setProgress(int) //设置第一进度
setSecondaryProgress(int) //设置第二进度
getProgress() //获取第一进度
getSecondaryProgress() //获取第二进度
incrementProgressBy(int) //增加或减少第一进度
incrementSecondaryProgressBy(int) //增加或减少第二进度
getMax() //获取最大进度
ProgressBar常见的几种样式
横向progressBarStyleHorizontal
<ProgressBar style="?android:attr/progressBarStyleHorizontal" android:layout_width="240dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="10dp" android:max="100" android:progress="50" />