2017-02-24 52 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”。