工作需求中 要求根据数据数量,按比例动态展示点击按钮进度变化颜色;
更改ProgressBar前景⾊和背景⾊
布局:
<ProgressBar android:id="@+id/bar" android:layout_width="match_parent" android:layout_height="@dimen/dimen_40dp" android:max="100" android:progress="0" android:progressDrawable="@drawable/barcolor" style="@android:style/Widget.ProgressBar.Horizontal" />
更改ProgressBar前景⾊和背景⾊ 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:endColor="#fff5f5f5" android:startColor="#fff5f5f5" /> </shape> </item><!-- 设置进度条颜⾊(黄色) --> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:endColor="#ffcd9e46" android:startColor="#ffcd9e46" /> </shape> </clip> </item> </layer-list>
代码中设置进度变化:
var num=2 //数据 变量
bar.setProgress(num) 简单OK,记录一下