Android ProgressBar详解

XML属性

属性名 描述
android:animationResolution 超时的动画帧之间的毫秒 ;必须是一个整数值,如“100”。
android:indeterminate 超时的动画帧之间的毫秒 ;必须是一个整数值,如“100”。
android:indeterminateBehavior 定义当进度达到最大时,不确定模式的表现;该值必须为repeat或者cycle,repeat表示进度从0重新开始;cycle表示进度保持当前值,并且回到0
android:indeterminateDrawable 定义不确定模式是否可拉
android:indeterminateDuration 时间不定的动画
android:indeterminateOnly 限制为不定模式
android:max 定义进度的最大值
android:maxHeight 进度Widget最大高
android:miniHeight 进度Widget最小高
android:maxWidth 进度Widget最大宽
android:minWidth 进度Widget最小宽
android:mirrorForRtl 定义了相关画板如果需要反映在RTL模式
android:progress 设置进度的默认值,值介于0到max之间
android:secondaryProgress 定义二级进度值,值介于0到max。该进度在主进度和背景之间。比如用于网络播放视频时,二级进度用于表示缓冲进度,主进度用于表示播放进度。
android:progressDrawable 自定义drawable显示
android:interpolator 设置动画速度

进度条样式:

@android:style/Widget.ProgressBar.Horizontal:水平进度条(可以显示刻度,常用)。

@android:style/Widget.ProgressBar.Small:小进度条。

@android:style/Widget.ProgressBar.Large:大进度条。

@android:style/Widget.ProgressBar.Inverse:不断跳跃、旋转画面的进度条。

@android:style/Widget.ProgressBar.Large.Inverse:不断跳跃、旋转动画的大进度条。

@android:style/Widget.ProgressBar.Small.Inverse:不断跳跃、旋转动画的小进度条。

示例XML文件:

<ProgressBar
    android:id="@+id/mTaskScoreBar"
    android:layout_marginTop="35dp"
    android:layout_centerHorizontal="true"
    android:layout_width="200dp"
    android:layout_height="10dp"
    android:max="100"
    android:progress="50"
    android:progressDrawable="@drawable/progress_white"
    style="@android:style/Widget.ProgressBar.Horizontal" />

首先定义进度条的样式Widget.ProgressBar.Horizontal 水平进度条

设置初始进度android:progress为50,最大进度android:max为100

android:progressDrawable="@drawable/progress_white":自定义drawable显示

progress_white.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">
        <shape>
            <corners android:radius="50dp" />
            <solid android:color="#33FFEFCA" />
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/shape_round_gray"
            android:scaleWidth="100%" />
    </item>
</layer-list>

android:id="@android:id/background"表示进度条不为空时显示的样式

android:id="@android:id/progress"表示进度条为空时的样式

shape_round_gray.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners android:radius="50dp" />

    <gradient
        android:angle="0"
        android:endColor="#FFFFFF"
        android:startColor="#FFFFFF "
        android:type="linear" />

</shape>

在Activity中使用方式:

mTaskScoreBar.max = 100  //设置最大值
mTaskScoreBar.progress = 10  //设置第一进度


进度条结果如上图所示

发布了31 篇原创文章 · 获赞 40 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览