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