2017-03-15 40 views
1

我取得了一些進展酒吧,如可以在圖中看到:如何以編程方式設置進度條的顏色漸變?

progress bars

我用梯度,使進度條更具吸引力了,但我想用顏色區(例如,30%的滿是綠色的,65%滿黃色,85%滿橙色,95 +%滿紅色)。

我見過帖子如何改變顏色,但我想改變漸變本身,所以我需要通過startColor,centerColor和endColor。

有沒有辦法如何做到這一點?

這就是我的進度條看起來像XML:

<ProgressBar 
    android:id="@+id/proteinProgressBar" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_width="32dp" 
    android:layout_height="150dp" 
    android:layout_marginStart="12dp" 
    android:progressDrawable="@drawable/progressbar_states" /> 

這是什麼progressbar_states繪製的樣子:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background"> 
     <shape> 
      <gradient 
       android:startColor="#b7b7b5" 
       android:centerColor="#e5e5e3" 
       android:endColor="#FFF" /> 

      <!--<gradient--> 
       <!--android:startColor="#777"--> 
       <!--android:centerColor="#CCC"--> 
       <!--android:endColor="#FFF" />--> 

      <corners android:radius="10dp" /> 
     </shape> 
    </item> 
    <item android:id="@android:id/progress"> 
     <clip 
      android:clipOrientation="vertical" 
      android:gravity="bottom"> 
      <shape> 
       <gradient 
        android:startColor="#32A6FF" 
        android:centerColor="#0090FF" 
        android:endColor="#3232FF" /> 
       <corners android:radius="10dp" /> 
      </shape> 
     </clip> 
    </item> 
</layer-list> 

回答

0

我只是把這個位置有沒有人曾經需要這個。

我只是爲每個顏色區域創建了一個單獨的漸變色XML,然後我只是添加了一些代碼來將該XML應用於正確的進度條。

相關問題