您的位置:首页 > 移动开发 > Android开发

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

2016-11-19 11:02 441 查看
Android API 25 (Android 7.1.1)

ProgressBar
public class ProgressBar
<
4000
p style="margin:0pt;">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();
     }
 }
 
 
添加进度条的布局文件,你可以使用<ProgressBar>元素。默认情况下,进度条是一个旋转的轮子(一个不确定的指标)。应用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
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(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)
属性说明:设置进度值的默认值,值介于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属性】

跳转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)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息