2015-05-12 87 views
4

我已經使用下面的代碼設置了進度條樣式。如何設置進度條背景

我已在申報進度小部件:

<ProgressBar 
    android:id="@+id/loadProgress" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="match_parent" 
    android:layout_height="20dip" 
    android:max="100" 
    android:progressDrawable="@drawable/load_progress" 
    android:progress="0" /> 

定義明確了 「@繪製/ background_bk」 的 「@繪製/ load_progress」

<?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/background_bk"> 
</item> 
<item 
    android:id="@android:id/progress" 
    android:drawable="@drawable/progress_bk"> 
</item> 

</layer-list> 

(它是紅色的)

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:angle="0" 
    android:endColor="#ff0000" 
    android:startColor="#ff0990" /> 

<stroke 
    android:width="1dp" 
    android:color="#ff0000" /> 

</shape> 

定義了@ drawable/progress_bk(它是綠色的)

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:angle="0" 
    android:endColor="#00ff00" 
    android:startColor="#00ff00" /> 

<stroke 
    android:width="1dp" 
    android:color="#00ff00" /> 

</shape> 

即使將進度值設置爲小於100,進度條始終顯示完全呈綠色(即進度值爲100時它應該出現的方式)。任何輸入值得讚賞。

回答

2

最後,我找到了一個簡單的解決方案。

你可以找到你的文件夾 默認繪製xml文件「SDK_path \平臺\ android19 \ DATA \水庫\繪製」 Overthere你可以找到許多小部件的許多默認樣式。

並獲取文件「progress_horizo​​ntal.xml」。 該文件中的代碼是:

<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="#ff9d9e9d" 
       android:centerColor="#ff5a5d5a" 
       android:centerY="0.75" 
       android:endColor="#ff747674" 
       android:angle="270" 
     /> 
    </shape> 
</item> 

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

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

,你可以很容易地改變「進步顏色」和「背景色」的色彩。

0

這裏是我做的有一個進度條,這是綠色的背景清晰的:

android:background="@color/white" 
android:progressBackgroundTint="@color/white" 
android:progressTint="@color/green_light"