前几天我的教程里给出了一个作业,改变 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" 属性。