ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条)。
ProgressBar支持的XML属性:
Attribute Name |
Related Method |
Description |
style |
|
设置ProgressBar指定风格 |
|
设置为true时,进度条不显示进度 |
|
|
indeterminate模式下,当进度条达到最大值时的动画处理行为: "repeat"|Animation.RESTART,动画将从头开始执行。 "cycle" |Animation.REVERSE,动画将反向从头开始执行。 |
|
|
indeterminate模式下使用的Drawable对象。该对象如果是动画对象(继承自Animatable), 将会在onDraw方法中被启动动画。 |
|
|
indeterminate模式下进度条的持续时间 |
|
|
强制indeterminate模式 |
|
|
设置该进度条的最大值 |
|
|
设置ProgressBar的规格 |
|
|
||
|
||
|
||
|
设置该进度条已完成进度值 |
|
|
设置进度条轨道的Drawable对象 |
style属性支持的属性值:
@android:style/Widget.ProgressBar.Horizontal:水平进度条
@android:style/Widget.ProgressBar.Inverse:普通大小的环形进度条
@android:style/Widget.ProgressBar.Large:大环形进度条
@android:style/Widget.ProgressBar.Large.Inverse:大环形进度条
@android:style/Widget.ProgressBar.Small:小环形进度条
@android:style/Widget.ProgressBar.Small.Inverse:小环形进度条
progressDrawable属性可以设置为LayerDrawable对象,是完成进度和未完成进度显示不同的图像。LayerDrawable对象可以在XML文件中用<layer-list>元素配置。
对进度的操作有如下的方法:
setProgress(int):设置进度完成的百分比。
incrementProgressBy(int):设置进度增加或减少(正负)
另外Android中还有一种直接显示在窗口标题上的进度条,直接由Activity的方法启用:
requestWindowFeature()传入参数Window.FEATURE_INDETERMINATE_PROGRESS设置不显示进度的进度条,传入参数Window.FEATURE_PROGRESS设置显示进度的进度条。setProgressBarIndeterminateVisibility(boolean)和setProgressBarVisibility(boolean)设置进度条的显示和隐藏。
拖动条SeekBar
通过滑块的位置可以得到相应的数值。
android:thumb:指定滑块的Drawable对象。
为了监听滑块位置的变化,需要为它绑定一个OnSeekBarChangeListener监听器。
星级评分条RatingBar
通过星级来表示进度。
RatingBar支持的XML属性:
Attribute Name |
Related Method |
Description |
android:isIndicator |
|
设置星级评分条是否允许用户改变 |
android:numStars |
|
设置星级评分条总共有多少个星级 |
android:rating |
|
设置默认的星级 |
android:stepSize |
|
设置每次最少需要改变多少个星级 |
为了监听星级评分条的变化,需要为它绑定一个OnRatingBarChangeListener监听器。