ProgressBar是在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。如果不设置进度条的样式,默认是不确定进度样式,画面不会随着进度的不同而变化。
ProgressBar的样式有以下四种:
android:progressBarStyle:默认进度条样式,不确定模式
android:progressBarStyleHorizontal:水平进度条样式
android:progressBarStyleLarge :大号进度条样式,也是不确定进度模式
android:progressBarStyleSmall :小号进度条样式,也是不确定进度模式
常用方法:
int getMax():返回这个进度条的范围的上限
int getProgress():返回进度
int getSecondaryProgress():返回次要进度
void incrementProgressBy(int diff):指定增加的进度
boolean isIndeterminate():指示进度条是否在不确定模式下
void setIndeterminate(boolean indeterminate):设置不确定模式下
void setVisibility(int v):设置该进度条是否可视
示例:新建一个Android应用程序项目,在main.xml文件中添加四个ProgressBar控件,样式依次为默认进度条样式,水平进度条样式,大号进度条样式,小号进度条样式。再添加一个Button,第一次单击是显示进度条,随后每点击一次,进度条增加一定的进度。最后进度条的进度到达最大时隐藏进度条。
main.xml
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="@string/hello"/> <!--添加四个进度条控件,android:visibility="gone" 设置进度条不可见。用 style="?android:attr/***"语句
将进度条的样式依次设置为普通不确定样式,水平进度条样式,大号进度条样式,小号进度条样式。-->
<ProgressBar