API 23 widget.ProgressBar——属性分析
参阅:http://android.xsoftlab.net/reference/android/widget/ProgressBar.html
public class
ProgressBar
extends View
Added inAPI level 1
java.lang.Object
↳ android.view.View
↳ android.widget.ProgressBar
已知直接子类
AbsSeekBar,
ContentLoadingProgressBar
【概述】
ProgressBar是界面用于与用户交互的一个组件,用来提升用户友好度,通常用于向用户展示某个耗时操作时,用于展示完成的百分比,不至于让用户觉得程序失去了响应。
在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。这种模式常用于应用程序使用任务的长度是未知的。
以下代码示例展示了如何使用一个进度条,在一个工作线程中更新,然后把进度通知给用户:
public class MyActivity extends Activity {
private static final int PROGRESS = 0x1;
private ProgressBar mProgress;
private int mProgressStatus = 0;
private Handler mHandler = new Handler();
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.progressbar_activity);
mProgress = (ProgressBar) findViewById(R.id.progress_bar);
// Start lengthy operation in a background thread
new Thread(new Runnable() {
public void run() {
while (mProgressStatus < 100) {
mProgressStatus = doWork();
// Update the progress bar
mHandler.post(new Runnable() {
public void run() {
mProgress.setProgress(mProgressStatus);
}
});
}
}
}).start();
}
}
添加进度条的布局文件,你可以使用<ProgressBar>元素。默认情况下,进度条是一个旋转的轮子(一个不确定的指标)。应用Widget.ProgressBar.Horizontal风格可以把进度条改成水平方向,像这样:
<ProgressBarstyle="@android:style/Widget.ProgressBar.Horizontal"... />
style=”?android:attr/ProgressBarStyleHorizontal”
如果你将使用进度条显示真正的进度,你应该使用水平进度条。 然后使用incrementProgressBy()或 setProgress()来增加进度值。默认情况下,当进度值达到100就满了。如果有必要,你可以使用android:max来调整最大值。
另一个常用的风格是Widget.ProgressBar.Small。当等待加载内容时显示了一个小的旋转轮子。
系统提供的进度条风格有:
·Widget.ProgressBar.Horizontal 水平进度条
·Widget.ProgressBar.Small 小环形进度条
·Widget.ProgressBar.Large 大环形进度条
·Widget.ProgressBar.Inverse 环形逆转进度条
·Widget.ProgressBar.Small.Inverse 小环形逆转进度条
·Widget.ProgressBar.Large.Inverse 打环形逆转进度条
·Widget.ProgressBar.Small.Title 标题型小环形进度条
【总结】
【XML属性】
android:animationResolution API 11-API 16
属性说明:设置进度条动画的超时时间。帧之间的动画超时时间。单位:毫秒。
这个属性可以是一个整型值(integer),如:100。
还可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是animationResolution。
API 16被弃用。Framework不再使用。
android:indeterminate API 1
属性说明:设置是否使用不精确显示进度模式。在不精确显示进度模式下,进度条动画无限循环。(即没有确切的进度值。)
可以是一个布尔值(boolean),“true”或“false”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是indeterminate。
android:indeterminateBehavior API 1
属性说明:设置当选择不精确显示进度时,如何描述到达最大进度值的表现。
可以是以下常量之一:
repeat 进度从0重新开始
cycle 进度保持当前值,并且回到0
它对应的全局资源符号是indeterminateBehavior。
android:indeterminateDrawable API 1
属性说明:设置当选择不精确显示进度时,所绘制的drawable。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是indeterminateDrawable。
android:indeterminateDuration API 1
属性说明:设置当选择不精确显示进度时的持续时间。
这个属性可以是一个整型值(integer),如:100。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是indeterminateDuration。
android:indeterminateOnly API 1
属性说明:设置只采用不精确显示进度模式(状态保持模式将不会工作)。
可以是一个布尔值(boolean),“true”或“false”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是indeterminateOnly。
android:indeterminateTint API 21
关联方法:setIndeterminateTintList(ColorStateList tint)
属性说明:为不精确显示进度条提供渲染指定颜色。
可以是一个颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是indeterminateTint。
android:indeterminateTintMode API 21
关联方法:setIndeterminateTintMode(PorterDuff.Mode tintMode)
属性说明:为不精确显示进度条提供渲染模式。
可以是以下常量之一:
src_over src_in src_atop multiply screen add
它对应的全局资源符号是indeterminateTintMode。
android:interpolatorAPI 1
关联方法:setInterpolator(Interpolatorinterpolator)
属性说明:指定一个动画的插值器。定义插值器用于定义动画变化的速率。默认linear_interpolator。
【使用插值器】
android:interpolator=”@android:anim/accelerate_interpolator”
【常用插值器】
accelerate_decelerate_interpolator 先加速再减速
accelerate_interpolator 加速
decelerate_interpolator 减速
linear_interpolator 匀速
cycle_interpolator 周期运动(正弦曲线)
bounce_interpolator 最后阶段弹球效果
anticipate_interpolator 先回退一小步然后加速前进
anticipate_overshoot_interpolator 在上一个基础上超过终点一小步再回到终点
overshoot_interpolator 快速到达终点并超出一小步最后回到终点
【个性化插值器】(几种常用插值器可调整的属性)
accelerate_decelerate_interpolator
无
accelerate_interpolator
android:factor 浮点值,加速速率,默认为1;
decelerate_interpolator
android:factor 浮点值,减速速率,默认为1;
linear_interpolator
无
cycle_interpolator
android:cycles 整数值,循环次数,默认为1;
bounce_interpolator
无
anticipate_interpolator
android:tension 浮点值,起始点后退的张力,默认为2
anticipate_overshoot_interpolator
android:tension 浮点值,起始点后退的张力,默认为2
android:extraTension 浮点值,拉力的倍数,默认为1.5 (2*1.5)
overshoot_interpolator
android:tension 浮点值,超出终点后的拉力,默认为2
【例】在/res/anim下创建此XML文件,命名my_overshoot_interpolator.xml,然后引用
<?xml version="1.0" encoding="utf-8"?>
<overshootInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:tension="7.0"/>
【自定义插值器】
...
android:max API 1
setMax(int max)
属性说明:设置进度值的最大值。
这个属性可以是一个整型值(integer),如:100。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是max。
android:maxHeight API 1
属性说明:设置进度值的最大高度的可选参数。
可以是一个带有单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关的像素)、sp(基于引用字体的尺寸来缩放的像素)、in(英寸)、mm(毫米)。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
这个属性对应全局属性资源符号maxHeight。
android:maxWidth API 1属性说明:设置进度值的最大宽度的可选参数。
可以是一个带有单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关的像素)、sp(基于引用字体的尺寸来缩放的像素)、in(英寸)、mm(毫米)。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
这个属性对应全局属性资源符号maxWidth。
android:minHeight API 1
属性说明:设置进度值的最小高度的可选参数。
关联方法:setMinimumHeight(intminHeight)
可以是一个带有单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关的像素)、sp(基于引用字体的尺寸来缩放的像素)、in(英寸)、mm(毫米)。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
这个属性对应全局属性资源符号minHeight。
android:minWidth API 1
属性说明:设置进度值的最小宽度的可选参数。
关联方法:setMinimumWidth(intminWidth)
可以是一个带有单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关的像素)、sp(基于引用字体的尺寸来缩放的像素)、in(英寸)、mm(毫米)。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
这个属性对应全局属性资源符号minWidth。
android:mirrorForRtl API 18
属性说明:设置当RTL模式时,相关绘图是否需要镜像。默认为false。
可以是一个布尔值(boolean),“true”或“false”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是mirrorForRtl。
android:progress API 1
setProgress(int progress)
属性说明:设置进度值的默认值,值介于0到max之间。如果进度条处于不确定模式,则不执行任何操作。
可以是一个整型值(integer),如:100。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是progress。
android:progressBackgroundTint API 21
关联方法:setProgressBackgroundTintList(ColorStateList tint)
属性说明:为进度条背景提供渲染指定颜色。
可以是一个颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是progressBackgroundTint。
android:progressBackgroundTintMode API 21
关联方法:setProgressBackgroundTintMode(PorterDuff.Mode)
属性说明:为进度条背景提供渲染模式。
可以是以下常量之一:
src_over src_in src_atop multiply screen add
它对应的全局资源符号是progressBackgroundTintMode。
android:progressDrawable API 1
setProgressDrawable(android.graphics.drawable.Drawable)
关联方法:设置该进度条轨道对应的drawable。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是progressDrawable。
android:progressTint API 21
关联方法:setProgressTintList(ColorStateList tint)
属性说明:为进度条提供渲染指定颜色。
可以是一个颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是progressTint。
android:progressTintMode API 21
关联方法:setProgressTintMode(PorterDuff.Mode tintMode)
属性说明:为进度条提供渲染模式。
可以是以下常量之一:
src_over src_in src_atop multiply screen add
它对应的全局资源符号是progressTintMode。
android:secondaryProgress API 1
setSecondearyProgress(int secondaryProgress)
属性说明:设置次级进度值的默认值,值介于0到max之间。这种进步是在主要进展和背景之间绘制的。 它可以是媒体场景的理想选择,例如显示缓冲进度,而默认进度显示播放进度。
可以是一个整型值(integer),如:100。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是secondaryProgress。
android:secondaryProgressTint API 21
关联方法:setSecondaryProgressTintList(ColorStateList tint)
属性说明:为二级进度条提供渲染指定颜色。
可以是一个颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是secondaryProgressTint。
android:secondaryProgressTintMode API 21
关联方法:setSecondaryProgressTintMode(PorterDuff.Mode tintMode)
属性说明:为二级进度条提供渲染模式。
可以是以下常量之一:
src_over src_in src_atop multiply screen add
它对应的全局资源符号是secondaryProgressTintMode。
【继承自view.View的XML属性】
...
【公共构造函数】
ProgressBar(Context context)
ProgressBar(Context context, AttributeSet attrs)
ProgressBar(Context context, AttributeSet attrs, int defStyleAttr)
ProgressBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
更多相关文章
- mainfest文件中android属性
- Android布局属性全面剖析
- ProgressBar属性小结(转载)
- Android中attr自定义属性详解
- android:layout_weight属性的简单使用
- 关于android的animation的xml定义中的android:interpolator属性
- android的布局属性(转)
- padding和margin的区别及其属性