ProgressBar及其子类的使用
ProgressBar及其子类的类图
ProgressBar
ProgressBar常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:indeterminate | setIndeterminate() | 该属性设置为true,表示不精确显示进度 |
android:indeterminateBehavior | - | 当进度达到最大时,不确定模式的表现 |
android:indeterminateDrawable | setIndeterminateDrawable() | 设置当选择不精确显示进度时,所绘制的drawable对象 |
android:indeterminateOnly | setIndeterminate() | 设置只采用不精确显示进度模式 |
android:max | setMax() | 设置进度可以达到的最大值 |
android:progress | setProgress() | 设置该进度已完成的进度值 |
android:progressDrawable | setProgressDrawable() | 设置该进度条轨道对应的drawable对象 |
android:secondaryProgress | setSecondaryProgress() | 设置二级进度已完成的进度值 |
android:progressTint | setProgressTintList() | 设置进度条颜色 |
android:progressBackgroundTint | setProgressBackgroundTintList() | 设置背景的颜色 |
android:secondaryProgressTint | setSecondaryProgressTintList() | 设置二级进度条颜色 |
android:indeterminateTint | setIndeterminateTintList() | 设置不精确显示时的颜色 |
android:progressTintMode | setProgressTintMode() | 设置进度条颜色模式 |
android:progressBackgroundTintMode | setProgressBackgroundTintMode() | 设置背景的颜色模式 |
android:secondaryProgressTintMode | setSecondaryProgressTintMode() | 设置二级进度条颜色模式 |
android:indeterminateTintMode | setIndeterminateTintMode() | 设置不精确显示时的颜色模式 |
ProgressBar注意事项
android:indeterminateBehavior
必须为repeat或者cycle,repeat表示进度从0重新开始;cycle表示进度保持当前值,并且回到0- 使用
android:style
设置样式- Widget.ProgressBar.Horizontal 水平进度条
- Widget.ProgressBar.Small 小环形进度条
- Widget.ProgressBar.Large 大环进度条
- Widget.ProgressBar.Inverse 普通大小的环形进度条
- Widget.ProgressBar.Small.Inverse 小环形进度条
- Widget.ProgressBar.Large.Inverse 大环形进度条
- 使用
?android:attr
设置样式- 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”
- 别忘了加
?
,?
表示引用主题资源 - 要使
android:indeterminateTint
生效,需时控件是不精确显示状态,且需要设置android:indeterminateTintMode
才能生效
ContentLoadingProgressBar
ContentLoadingProgressBar常用属性
- 与ProgressBar相同
ContentLoadingProgressBar常见方法
·onAttachedToWindow()
使图像显示onDetachedFromWindow()
使图像隐藏,但图像仍占据空间,当使用android:indeterminateDrawable
设置图片时,效果是暂停show()
使图像显示hide()
使图像隐藏,图像不再占据空间
ContentLoadingProgressBar注意事项
- 与ProgressBar相同
- 使用
onDetachedFromWindow()
时应使用onAttachedToWindow()
显示 - 使用
hide()
时应使用show()
显示
RatingBar
RatingBar常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:numStars | setNumStars() | 显示的星型数量,必须是一个整形值 |
android:rating | setRating() | 默认的评分,必须是浮点类型 |
android:stepSize | setStepSize() | 评分的步长 |
android:isIndicator | setIsIndicator() | 是否是一个指示器,即用户是否可更改 |
android:progressTint | setProgressTintList() | 设置进度条颜色 |
android:progressBackgroundTint | setProgressBackgroundTintList() | 设置背景的颜色 |
android:secondaryProgressTint | setSecondaryProgressTintList() | 设置二级进度条颜色 |
RatingBar注意事项
android:isIndicator
为true表示不可更改- 三种系统样式
style="?android:attr/ratingBarStyleIndicator"
普通style="?android:attr/ratingBarStyle"
大style="?android:attr/ratingBarStyleSmall"
小
设置监听
``` java
XXX.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener()
{
/*- @param ratingBar 当前控件
- @param rating 当前评分
@param fromUser 是否是用户操作
*/
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser)
{}
});
- 如何自定义图片
``` xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/unselect">
</item>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/unselect">
</item>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/selected">
</item>
</layer-list>
SeekBar
SeekBar常用属性
XML属性 | 相关方法 | 说明 |
---|---|---|
android:max | setMax() | 设置进度可以达到的最大值 |
android:progress | setProgress() | 设置该进度已完成的进度值 |
android:secondaryProgress | setSecondaryProgress() | 设置二级进度已完成的进度值 |
android:progressDrawable | setProgressDrawable() | 设置该进度条轨道对应的drawable对象 |
android:progressTint | setProgressTintList() | 设置进度条颜色 |
android:thumb | setThumb() | 设置滑块图片 |
android:thumbTint | setThumbTintList() | 设置滑块颜色 |
android:thumbOffset | setThumbOffset() | 设置滑块的偏移量 |
android:indeterminate | setIndeterminate() | 该属性设置为true,表示不精确显示进度 |
android:indeterminateTint | setIndeterminateTintList() | 设置不精确显示时的颜色 |
SeekBar注意事项
设置监听
XXX.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { /** *滑动时触发 * @param seekBar 当前控件 * @param progress 当前进度值 * @param fromUser 是否用户操作 */ @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { } /** * 开始滑动时触发 * @param seekBar 当前控件 */ @Override public void onStartTrackingTouch(SeekBar seekBar) { } /** * 滑动结束时触发 * @param seekBar 当前控件 */ @Override public void onStopTrackingTouch(SeekBar seekBar) { } });