Android学习笔记(24):进度条组件ProgressBar及其子类

时间:2024-01-07 16:24:50

ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条)。

ProgressBar支持的XML属性:

Attribute Name

Related Method

Description

style

设置ProgressBar指定风格

android:indeterminate

设置为true时,进度条不显示运行进度

android:indeterminateBehavior

indeterminate模式下。当进度条达到最大值时的动画处理行为:

"repeat"|Animation.RESTART,动画将从头開始运行。

"cycle" |Animation.REVERSE,动画将反向从头開始运行。

android:indeterminateDrawable

indeterminate模式下使用的Drawable对象。

该对象假设是动画对象(继承自Animatable)。 将会在onDraw方法中被启动动画。

android:indeterminateDuration

indeterminate模式下进度条的持续时间

android:indeterminateOnly

强制indeterminate模式

android:max

设置该进度条的最大值

android:maxHeight

设置ProgressBar的规格

android:maxWidth

android:minHeight

android:minWidth

android:progress

设置该进度条已完毕进度值

android:progressDrawable

设置进度条轨道的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监听器。