改变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" 属性。