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

 

转载于:https://www.cnblogs.com/huangzx/p/4431157.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值