安卓ProgressBar水平进度条的颜色设置

安卓系统提供了水平进度条ProgressBar的样式,而我们在实际开发中,差点儿不可能使用默认的样式。原因就是“太丑”^_^

所以我们在很多其它的时候须要对其颜色进行自己定义,主要使用就是自己定义样式文件。

 

再在drawable文件夹下新增progressbar.xml文件,能够设置默认背景色和进度条的颜色

(值得一提的是支持渐变色)

代码:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@android:id/background">
        <!--形状-->
        <shape>
           <!-- 角球-->
            <corners android:radius="5dip" />
            <!--梯度-->
            <gradient
                android:angle="0"
                android:centerColor="#ff5a5d5a"
                android:centerY="0.75"
                android:endColor="#ff747674"
                android:startColor="#ff9d9e9d" />
        </shape>
    </item>

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:angle="0"
                    android:centerColor="#80ffb600"
                    android:centerY="0.75"
                    android:endColor="#a0ffcb00"
                    android:startColor="#80ffd300" />
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:angle="0"
                    android:endColor="#8000ff00"
                    android:startColor="#80ff0000" />
            </shape>
        </clip>
    </item>

</layer-list>

布局文件定义例如以下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".ProgressBarActivity">
    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="7.5dp"
        android:max="100"
        android:progress="80"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp" />

    <ProgressBar
        android:id="@+id/progressBar2"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="15dp"
        android:max="100"
        android:progress="50"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"/>
    <ProgressBar
        android:id="@+id/progressBar3"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="15dp"
        android:max="100"
        android:progress="100"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"/>

    <ProgressBar
        android:id="@+id/progressBar4"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="20dp"
        android:max="100"
        android:progress="100"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"/>



</LinearLayout>

  ------------结束-------------

<?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="5dip" />
            <gradient android:startColor="#fff"
                android:endColor="#fff" />
        </shape>
    </item>

    <!--  设置进度条颜色(白色)  -->
    <item  android:id="@android:id/progress" >
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient  android:startColor="#ffca12"
                    android:endColor="#ffca12" />
            </shape>
        </clip>
    </item>

</layer-list>

  

 

posted on 2019-08-23 09:51  巫山老妖  阅读(14275)  评论(0编辑  收藏  举报