我使用此方法更改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版本上改变拇指的颜色?
答案 0 :(得分:2)
在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" />
答案 1 :(得分:0)
试试这个,
sb.getProgressDrawable().setColorFilter(getResources().getColor(R.color.my_color), PorterDuff.Mode.SRC_ATOP);
或
sb.getProgressDrawable().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
sb.getThumb().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);