改变 ProgressBar 样式颜色

1、更改ProgressBar前景色和背景色

xml文件里如下

         <ProgressBar
            android:id="@+id/download_bar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:max="100"
            android:progress="0"
            android:progressDrawable="@drawable/barcolor"/>

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>
      <!-- 进度条的四个棱角大小 0 为都是直角 随着值的增大角越圆滑-->
   <corners android:radius="0dip" />
   <gradient
    android:startColor="#c0c0c0"
    android:endColor="#c0c0c0" />
  </shape>
 </item>

<!--  设置进度条颜色(绿色)  -->  
 <item  android:id="@android:id/progress" >
  <clip>
   <shape>
    <corners
     android:radius="0dip" />
    <gradient
     android:startColor="#1e978a"
     android:endColor="#1e978a" />
   </shape>
  </clip>
 </item>
</layer-list>



===================================================================================


几天我的教程里给出了一个作业,改变 ProgressBar 样式颜色。在这里分享一下源码。改变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" 属性。

展开阅读全文

没有更多推荐了,返回首页