安卓系統提供了水平進度條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>
