根据进度更改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"));
}
答
您需要使用OnSeekBarChangeListener's
onProgressChanged
回调,并从里边有改变颜色像这样:mySeekBar.getProgressDrawable().setColorFilter(..)
和mySeekBar.getThumb().setColorFilter(..)
+0
你能给我一个例子只是一个=就像是重要的请问? – David
你正在一个错误的方式设置彩色滤光片。首先,在你的seekBar对象上调用它。其次,尝试像这样:'setColorFilter(Color.WHITE,PorterDuff.Mode.SRC_ATOP);' –
哦谢谢!但也有可能改变圆的颜色?因为如果重要性为0,我希望至少有颜色,以便用户可以识别.. – David
seekBar.getThumb()。setColorFilter(..) –