<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>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步