我有一个搜索栏,我正在尝试更改拇指颜色。我发现两张照片描述了我真正想做的事情。 我有这个搜索栏(默认):
我试图改变它的颜色拇指,如这个..: (我知道如何更改背景进度颜色而不是拇指颜色)..
seekBar1calling.getProgressDrawable().setColorFilter(Color.WHITE, Mode.SRC_IN);
有没有办法用java代码实现这个目的?在此先感谢!!
答案 0 :(得分:6)
答案 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));