安卓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>

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM