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