seekbar
我在我的 android 应用程序中有默认设置。我注意到,当按住thumb
on时seekbar
,它会变成黄色。相反,我希望它在持有时变成蓝色。如何才能做到这一点?如果这是一个基本问题,我深表歉意,我是 android 开发的新手。谢谢。
问问题
30698 次
3 回答
33
使用图像过滤器更改默认状态列表可绘制对象的颜色(包括 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)之后可用。
于 2013-10-09T06:58:20.300 回答
23
不需要额外的样式。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" />
于 2015-10-14T05:50:10.757 回答
20
如果您不喜欢默认拇指,则必须创建自己的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
.
于 2013-05-09T21:13:01.953 回答