我为我的应用做了一个均衡器,但我不知道如何改变搜索条的拇指和进度颜色。它似乎是默认的粉红色,这不符合我的应用的美学。
SeekBar seekBar = new SeekBar(this);
seekBar.setId(i);
seekBar.setLayoutParams(layoutParams);
seekBar.setMax(upperEqualizerBandLevel - lowerEqualizerBandLevel);
seekBar.setProgress(mEqualizer.getBandLevel(equalizerBandIndex));
//seekBar.setBackgroundColor(Color.DKGRAY);
//seekBar.setDrawingCacheBackgroundColor(Color.DKGRAY);
9条答案
按热度按时间zengzsys1#
要更改
Seekbar
缩略图的颜色,请在style.xml
中创建新样式最后在布局中:
要更改
Seekbar
进度颜色,请在Java类中使用此函数。这两种方法都适用于API〉16的情况。
通过Java代码更改SeekBar缩略图颜色。
mklgxw1f2#
虽然使用样式是一个好主意,但它并没有提供太多的灵活性,特别是如果你想以编程方式分配颜色,我建议:
//for the progress seekBar.getProgressDrawable().setColorFilter(mThemeColor,PorterDuff.Mode.SRC_ATOP); //for the thumb handle seekBar.getThumb().setColorFilter(mThemeColor, PorterDuff.Mode.SRC_ATOP);
wlp8pajw3#
您可以通过编程方式更改的seekbar缩略图和进度颜色,如下所示:
8aqjt8rx4#
你可以很容易地通过代码来改变它,
例如:
或
希望它能对将来的人有所帮助。
2wnc66cl5#
你应该这样称呼你的搜索栏
其中
YOUR_NEW_STYLE
将定义所需的Seekbar
的颜色。oyxsuwqo6#
试试这个:
7vux5j2d7#
只是多一点桃色的回答
balp4ylt8#
Kotlin版本,并且不使用过时的方法:
p1iqtdky9#
Android SDK中有一些视图(ProgressBar是另一个例子),您必须使用图形颜色过滤器来更改颜色,而不是更改背景/前景源颜色。
找到
.setColorFilter()
方法,用一些PorterDuff滤镜,比如.Mode.MULTIPLY
(取决于你最喜欢的滤镜模式)提供你的源颜色,然后就可以了。示例: