Android自定义横向的ProgressBar

来源:互联网 发布:linq高级编程 pdf 编辑:程序博客网 时间:2024/06/05 01:14

效果图:

代码:

在res下创建drawable文件夹,新建文件drawable/progressbar_color.xml

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" >     <!-- 背景  gradient是渐变,corners定义的是圆角 -->    <item android:id="@android:id/background">        <shape> //注意是shape            <corners android:radius="10dp" />             <solid android:color="#ffffff" />        </shape>    </item>    <!-- 第二条进度条颜色 -->    <item android:id="@android:id/secondaryProgress">        <clip> //注意是从clip            <shape> //注意是从shape                <corners android:radius="10dip" />                 <gradient                    android:angle="90.0"                    android:centerColor="#ac6079"                    android:centerY="0.45"                    android:endColor="#6c213a"                    android:startColor="#e71a5e" />            </shape>        </clip>    </item>    <!-- 进度条 -->    <item android:id="@android:id/progress">        <clip> //注意是clip            <shape> //注意是shape                <corners android:radius="10dip" />                 <solid android:color="#FF8080" />            </shape>        </clip>    </item> </layer-list>

然后在布局中引用就可以了。

activity_main.xml

<ProgressBar         android:id="@+id/my_progress"        android:layout_width="match_parent"        android:layout_height="12dp"        android:max="100"        android:progress="40"        android:secondaryProgress="70"        style="?android:attr/progressBarStyleHorizontal"        android:progressDrawable="@drawable/progressbar_color"/>

注:

1、

secondaryProgress 和 progress 必须要使用 <clip></clip>元素

2、其他的一些常用属性:

android:maxHeight="2dp"
android:minHeight="2dp"    限定progressbar的高度

android:thumb="@drawable/big_hook_ok"   进度位置的图片

0 0
原创粉丝点击