API 25 (Android 7.1.1 API) widget.ProgressBar——属性分析

Android API 25 (Android 7.1.1)


ProgressBar

public class ProgressBar

extends View

Added in API 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();

     }

 }

 

 

添加进度条的布局文件,你可以使用元素。默认情况下,进度条是一个旋转的轮子(一个不确定的指标)。应用Widget.ProgressBar.Horizontal风格可以把进度条改成水平方向,像这样:

<ProgressBar style="@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-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:  interpolator

API 1

关联方法:setInterpolator(Interpolator interpolator)

属性说明:指定一个插值器。用于定义变化的速率。默认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

androidfactor浮点值,加速速率,默认为1

decelerate_interpolator

androidfactor浮点值,减速速率,默认为1

linear_interpolator

cycle_interpolator

androidcycles整数值,循环次数,默认为1

bounce_interpolator

anticipate_interpolator

androidtension浮点值,起始点后退的张力,默认为2

anticipate_overshoot_interpolator

androidtension浮点值,起始点后退的张力,默认为2

androidextraTension浮点值,拉力的倍数,默认为1.52*1.5

overshoot_interpolator

androidtension浮点值,超出终点后的拉力,默认为2

【例】在/res/anim下创建此XML文件,命名my_overshoot_interpolator.xml,然后引用

 

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(int minHeight)

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是minHeight

 


android:  minWidth

API 1

属性说明:设置进度条的最小宽度的可选参数。

关联方法:setMinimumWidth(int minWidth)

必须是带单位的浮点型尺寸值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)

属性说明:设置进度值的默认值,值介于0max之间。如果进度条处于不确定模式,则不执行任何操作。

必须是整型值(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)

属性说明:设置次级进度值的默认值,值介于0max之间。这种进步是在主要进展和背景之间绘制的。 它可以是媒体场景的理想选择,例如显示缓冲进度,而默认进度显示播放进度。

必须是整型值(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属性】

跳转view.View

 

【公共构造函数】

ProgressBar(Context context) 

ProgressBar(Context context, AttributeSet attrs)

ProgressBar(Context context, AttributeSet attrs, int defStyleAttr)

ProgressBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)





你可能感兴趣的:(Android,API,25,中文版)