<ProgressBar android:id="@+id/progressBar2" style="@android:style/Widget.ProgressBar.Horizontal" android:progressDrawable="@drawable/progressbar" android:max="100" android:layout_width="match_parent" android:layout_height="wrap_content" />
drawable/progressbar
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 1 --> <item android:id="@android:id/background"> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#ff9d9e9d" android:centerColor="#ff5a5d5a" android:centerY="0.75" android:endColor="#ff747674" android:angle="270" /> </shape> </item> <!-- 2 --> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#80ffd300" android:centerColor="#80ffb600" android:centerY="0.75" android:endColor="#a0ffcb00" android:angle="270" /> </shape> </clip> </item> <!-- 3 --> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#ffffd300" android:centerColor="#ffffb600" android:centerY="0.75" android:endColor="#ffffcb00" android:angle="270" /> </shape> </clip> </item> </layer-list>
修改第三部分
<!-- 3 -->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient android:startColor="#fff0d300" android:centerColor="#ff0fb600" android:centerY="0.75"android:endColor="#ff0fcb00" android:angle="270"
/>
</shape>
</clip>
</item>
可以看到第二个进度条上中下的颜色就改变了。对应的代码如下
上:android:startColor="#fff0d300"
中:android:centerColor="#ff0fb600"
下:android:endColor="#ff0fcb00"
接下来修改第一部分的代码:
<!-- 1 -->
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient android:startColor="#99ff0e00" android:centerColor="#aa50ff50" android:endColor="#bb0006f4" android:centerY="0.75" android:angle="270"
/>
</shape>
</item>
可以看到第一部分未被填充的背景色改变了
还有一种简单的方法:
<?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/bg" /> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary" /> <item android:id="@android:id/progress" android:drawable="@drawable/progress" /> </layer-list>
总结:
- @android:id/background 改变的是背景的颜色
- @android:id/secondaryProgress 这个不知道有什么用
- @android:id/progress 改变的是进度条的颜色
改变圆形的ProgressBar的样式
默认样式
<ProgressBar android:id="@+id/progressBar1" style="@android:style/Widget.ProgressBar.Large" android:layout_width="wrap_content" android:indeterminateDrawable="@drawable/probar" android:layout_height="wrap_content" />
drawable/probar
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/actionbar_add_icon" android:pivotX="50.0%" android:pivotY="50.0%" > </animated-rotate>