2017-02-24 51 views
0

我知道這個問題已被問到,但我無法弄清楚我的問題。 我想創建一個進度條,在進度過程中會有三種顏色。 它將以藍色開始,經過40%的進展後,它會平穩地變成橙色,而75%之後它會平穩地變成紅色。多色進度條Android

我有後臺繪製和單一顏色的進展:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/background"> 
    <shape> 
     <gradient 
      android:startColor="#666666" 
      android:centerColor="#808080" 
      android:endColor="#999999" 
      android:centerY="1.0" 
      android:angle="270"/> 
     <corners android:radius="10dip"/> 
    </shape> 
</item> 

<item android:id="@+id/progress"> 
    <clip> 
     <shape> 
      <corners android:radius="10dip"/> 
      <gradient 
       android:startColor="#0099e6" 
       android:centerY="0.75" 
       android:angle="270" /> 
     </shape> 
    </clip> 
</item> 
</layer-list> 

我動態創建我的進度條:

Drawable drawable = getResources().getDrawable(R.drawable.progressbar_style); 
    progressBar.setProgressDrawable(drawable); 
    progressBar.setMax(100); 

    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      while (progressStatus < 60){ 
       mHandler.post(new Runnable() { 
        @Override 
        public void run() { 
         progressBar.setProgress(progressStatus); 
        } 
       }); 
       try{ 
        Thread.sleep(20); 
       }catch (InterruptedException e){ 
        e.printStackTrace(); 
       } 
       progressStatus++; 
      } 
     } 
    }).start(); 
+0

結果是什麼?一個錯誤?請更具體一些。 – Alex

+0

結果是一種顏色的進度條! 我想要一個有三種顏色的進度條,正如我所描述的那樣! – SnkTay

回答

0

Thae唯一能想到的就是設置 android:angle =「0」。