参阅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

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.5 2*1.5

overshoot_interpolator

androidtension 浮点值,超出终点后的拉力,默认为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)

属性说明:设置进度值的默认值,值介于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.ViewXML属性】

...

【公共构造函数】

ProgressBar(Context context)

ProgressBar(Context context, AttributeSet attrs)

ProgressBar(Context context, AttributeSet attrs, int defStyleAttr)

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



更多相关文章

  1. mainfest文件中android属性
  2. Android布局属性全面剖析
  3. ProgressBar属性小结(转载)
  4. Android中attr自定义属性详解
  5. android:layout_weight属性的简单使用
  6. 关于android的animation的xml定义中的android:interpolator属性
  7. android的布局属性(转)
  8. padding和margin的区别及其属性

随机推荐

  1. android中如何获取文件的路径总结
  2. Android前向兼容的几个问题
  3. Android触摸屏幕时间-android学习之旅(三)
  4. Android(安卓)slidingmenu详细解释 滑动
  5. ActionbarSherlock的Style讲解
  6. android 中文api (84) —— TrafficStats
  7. Android应用
  8. Android中Service(服务)详解
  9. Android中listview中的button
  10. android 呼出电话的监听(去电监听)