根据进度更改seekbar颜色

问题描述:

我在我的应用程序中的一个活动中添加了一个SeekBar。根据进度更改seekbar颜色

这seekbar让我对我创建的对象的重要性。重要性可以是0,1或2.

我想在使用它的时候改变我的SeekBar的背景颜色。我怎样才能做到这一点 ?

下面是我想使用的颜色:

重要性0: “#FF8080”

重要性1: “#FF0000”

重要性2: “#4d0000”

感谢您的帮助,并告诉我您是否需要更多代码!

BarreImportance.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int i, boolean b) { 

      if(i==0) 
      { //it does not accept my colors.. 
       BarreImportance.getProgressDrawable().setColorFilter(Color.parseColor("#ff8080")); 
      } 
      if(i==1) 
      { 
     //it changes the whole background, not what I want...   BarreImportance.setBackgroundColor(Color.parseColor("#ff0000")); 

     } 
+0

你正在一个错误的方式设置彩色滤光片。首先,在你的seekBar对象上调用它。其次,尝试像这样:'setColorFilter(Color.WHITE,PorterDuff.Mode.SRC_ATOP);' –

+0

哦谢谢!但也有可能改变圆的颜色?因为如果重要性为0,我希望至少有颜色,以便用户可以识别.. – David

+0

seekBar.getThumb()。setColorFilter(..) –

您需要使用OnSeekBarChangeListener'sonProgressChanged回调,并从里边有改变颜色像这样:mySeekBar.getProgressDrawable().setColorFilter(..)mySeekBar.getThumb().setColorFilter(..)

+0

你能给我一个例子只是一个=就像是重要的请问? – David