progressbar修改背景为其它颜色:
在 /res/drawable 目录下,添加 bar_color.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="10dip" />
<gradient android:startColor="#ffffff"
android:endColor="#ffffff" />
</shape>
</item>
<!-- 设置进度条颜色(白色) -->
<item android:id="@android:id/progress" >
<clip>
<shape>
<corners android:radius="10dip" />
<gradient android:startColor="#FF6600"
android:endColor="#FF6600" />
</shape>
</clip>
</item>
</layer-list>
然后在xml布局中得progressbar中加入一句属性,android:progressDrawable="@drawable/barcolor" ,如下
<ProgressBar
android:id="@+id/precent"
android:layout_width="wrap_content"
android:layout_height="15dp"
android:layout_marginTop="3dp"
android:layout_weight="2"
android:progressDrawable="@drawable/bar_color"
style="@android:style/Widget.ProgressBar.Horizontal"
android:max="100"
/>
但是,图片还有个问题,就是右边没有弧度,不好看,我们需要的是跟左边一样的,有弧度的进度条。我们这样做:
在android:progressDrawable 这个属性换成另外一个drawable文件,如下
<ProgressBar
android:id="@+id/precent"
android:layout_width="wrap_content"
android:layout_height="12dp"
android:layout_marginTop="3dp"
android:layout_weight="3"
android:progressDrawable="@drawable/bar_color"
style="@android:style/Widget.ProgressBar.Horizontal"
android:max="100"
/>
自己在colors.xml文件上加上白色的<color name="white">#FFFFFF</color>
<?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="10dip" />
<gradient
android:startColor="@color/white"
android:endColor="@color/white"
android:angle="45" />
</shape>
</item>
<!-- 设置进度条颜色(橙色) -->
<item android:id="@android:id/progress" >
<scale android:scaleWidth="100%"
android:drawable="@drawable/round_orange" />
</item>
</layer-list>
而进度条的颜色,再在
/res/drawable新建一个round_orange.xml,颜色换成自己想要的颜色即可
<?xml version="1.0" encoding="UTF-8"?><!-- EditText 秒表效果 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="#FF6600" />
<!-- 设置按钮的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="10dip" />
</shape>
下图截取时分辨率不够,真实图片是不会失真的。。。因为是用代码写的,不是用图片,因此效果如同文章顶部那图片那么清晰。