2012-01-30 15 views
1

我目前使用xml文件作爲我的ProgressBar的drawable,我希望能夠讓用戶選擇主題。爲此,我希望能夠根據他們選擇的內容來改變圍繞ProgressBar的筆劃。我是否需要爲每個不同的主題創建新的可繪製xml,或者我可以使用styles來更改筆觸顏色。中風是我想改變的唯一東西,所以它需要一個全新的可繪製xml似乎有點愚蠢。我可以在我的styles文件中添加任何參數來執行此操作嗎?使用drawable xml和樣式的ProgressBar

ProgressBar繪製對象的xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:id="@android:id/background"> 
    <shape> 
     <corners android:radius="5dip" /> 
     <stroke android:color="#ffffffff" 
       android:width="1dp" /> 
     <gradient 
      android:startColor="#009d9e9d" 
      android:centerColor="#005a5d5a" 
      android:centerY="0.75" 
      android:endColor="#00747674" 
      android:angle="270" 
     /> 
    </shape> 
</item> 

<item android:id="@android:id/secondaryProgress"> 
    <clip> 
     <shape> 
      <corners android:radius="5dip" /> 
      <stroke android:color="#ffffffff" 
       android:width="1dp" /> 
      <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" /> 
     <stroke android:color="#ffffffff" 
      android:width="1dp" />  
     <gradient 
      android:startColor="@color/orangelight" 
      android:endColor="@color/orangedark" 
      android:angle="270" /> 
    </shape> 
</clip> 
</item> 

</layer-list> 

回答