我的Android应用中有默认的seekbar
。我注意到,当thumb
上的seekbar
被保持时,它会变黄。相反,我希望它在持有时变成蓝色。如何才能做到这一点?如果这是一个基本问题我很抱歉,我是android开发的新手。感谢。
答案 0 :(得分:28)
使用图像过滤器更改默认State List Drawables(包括SeekBar)的颜色:
// Change seekbar color to green.
SeekBar sb = (SeekBar) findViewById(R.id.seekBar1);
sb.getProgressDrawable().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
sb.getThumb().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
方法getThumb
仅在API 16+(Jelly Bean)之后可用。
答案 1 :(得分:18)
无需额外造型。 Android通过xml支持它。 只需在搜索栏中添加 android:thumbTint =" @ color / yourColor" 。
例如。
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:thumbTint="@color/red"
android:progress="0" />
答案 2 :(得分:15)
如果您不喜欢默认拇指,则必须创建自己的Drawable
,然后可以使用以下内容在代码中设置拇指:
Drawable thumb = getResources().getDrawable( R.drawable.myThumb );
SeekBar mSeekBar = (SeekBar) findViewById(R.id.mySeekBar);
mSeekbar.setThumb(thumb);
或者你可以用XML设置拇指:
<SeekBar
...
android:thumb="@drawable/seek_thumb" />
实际的Drawable可以是您可能想要的图像,形状或任何其他类型的Drawable。如果您希望拇指在按下时更改外观,则需要创建State List Drawable
。