如何在Android上着色SeekBar的拇指?

问题描述:

我用这个方法来改变搜索栏的拇指颜色:如何在Android上着色SeekBar的拇指?

public static void setThumbColor(final SeekBar sb, @ColorInt final int color) { 
    final Drawable thumb = sb.getThumb(); 
    thumb.setColorFilter(color, PorterDuff.Mode.SRC_IN); 
    sb.setThumb(thumb); 
    } 

与此代码的工作以及在Android 5.0(棒棒堂)和更新。但在Android 4.2.2或4.3.1上,我的方法不起作用,拇指的颜色不会改变。

我应该怎么做才能改变旧的android版本的拇指颜色?

在style.XML布局

<SeekBar 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/SeekBarColor" /> 
+1

谢谢,这个解决方案是对的! –

+0

干杯!如果它对你有帮助,请接受。 – Abhi

+1

是的,我记得,但*禁止在第一个7分钟内接受) –

试试这个创建一个新的风格

<style name="SeekBarColor" 
parent="Widget.AppCompat.SeekBar"> 
<item name="colorAccent">@color/your_color</item> 
</style> 

最后,

sb.getProgressDrawable().setColorFilter(getResources().getCo‌​lor(R.color.my_color‌​), PorterDuff.Mode.SRC_ATOP); 

sb.getProgressDrawable().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY); 
sb.getThumb().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY); 
+0

我已经尝试了另一种模式,它并没有帮助我:( –