幾天我的教程里給出了一個作業,改變 ProgressBar 樣式顏色。在這里分享一下源碼。改變ProgressBar 的樣式顏色,可以改變其背景顏色,也可以設置不同的圖片。先上兩個效果圖:
(進度條是 自定義圖片)
(進度條是 自定義顏色)
一.修改背景為圖片。
1.我自己制作了兩張圖片(如下圖),並將它們放到工程的 /res/drawable 目錄下。
(背景圖片 prgs_bg.png)
(進度圖片 prgs_progress.png)
2.同時在 /res/drawable 目錄下新建一個 barbgimg.xml 文件,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 設置背景色圖像資源 -->
<item
android:id="@android:id/background"
android:drawable="@drawable/prgs_bg" />
<!-- 設置進度條顏色圖像資源 -->
<item
android:id="@android:id/progress"
android:drawable="@drawable/prgs_progress" />
</layer-list>
3.在布局文件中定義 ProgressBar 時,添加 android:progressDrawable="@drawable/barbgimg" 屬性。
二.修改背景為其它顏色。
1. 在 /res/drawable 目錄下,添加 barcolor.xml 文件,內容如下:
<?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="#000000"
android:endColor="#000000" />
</shape>
</item>
<!-- 設置進度條顏色(白色) -->
<item android:id="@android:id/progress" >
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="#ffffff"
android:endColor="#ffffff" />
</shape>
</clip>
</item>
</layer-list>
2.在布局文件中定義 ProgressBar 時,添加 android:progressDrawable="@drawable/barcolor" 屬性。