改变ProgressBar的图片


    <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> 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM