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

How to colorize SeekBar's thumb on 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 (Lollipop) 和更新版本上运行良好。但是在 Android 4.2.2 或 4.3.1 上我的方法不起作用,拇指的颜色没有改变。

我应该如何更改旧 android 版本的缩略图颜色?

在 style.XML

中创建新样式
<style name="SeekBarColor"
parent="Widget.AppCompat.SeekBar"> 
<item name="colorAccent">@color/your_color</item> 
</style>

终于在布局中了

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

试试这个,

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);