从搜索栏更改拇指颜色

时间:2014-02-02 17:35:52

标签: android slider seekbar

我有一个搜索栏,我正在尝试更改拇指颜色。我发现两张照片描述了我真正想做的事情。 我有这个搜索栏(默认): enter image description here

我试图改变它的颜色拇指,如这个..: (我知道如何更改背景进度颜色而不是拇指颜色)..

seekBar1calling.getProgressDrawable().setColorFilter(Color.WHITE, Mode.SRC_IN);

enter image description here

有没有办法用java代码实现这个目的?在此先感谢!!

4 个答案:

答案 0 :(得分:6)

我刚刚使用了一个在线样式生成器,它给了我需要的东西

http://android-holo-colors.com/

只需选择您想要的小部件和颜色即可! ;)

答案 1 :(得分:4)

只需使用:

mySeekbar.getThumb().setColorFilter(myColor, PorterDuff.Mode.MULTIPLY);

编辑:方法getThumb仅在API 16+(Jelly Bean)之后可用。

答案 2 :(得分:1)

这是一个快速简便的解决方案,对我有用。只需在初始化搜索栏后实现此代码,以避免NPE。

您必须在 res / values / colors.xml

下定义颜色
int blue = ContextCompat.getColor(context, R.color.seekbar_blue);
filterSeekBar.getThumb().setColorFilter(blue, PorterDuff.Mode.SRC_ATOP);
filterSeekBar.getProgressDrawable().setColorFilter(blue, PorterDuff.Mode.SRC_ATOP);

这就是全部!

注意: Progress-Background的颜色不像Button / Thumb本身那么暗。 如果您想了解更多有关PorfuerDuff部分的信息,请在Stackoverflow上查看以下答案: Phasmal & Lee's answer to PorfuerDuff modes

答案 3 :(得分:0)

其他答案很老,对我来说没有用,这样做了。

seekbar.setThumbTintList(ContextCompat.getColorStateList(this, R.color.disabled));