java如何在安卓中更改SeekBar颜色?(以编程方式)
我做了一个均衡器来配合我的应用程序,但我不知道如何才能改变seekbar的拇指和进度颜色。默认情况下它看起来是粉红色的,这不符合我的应用程序的美学
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);
# 1 楼答案
您可以通过代码轻松更改它
例如:
或
希望它能对将来的人有所帮助
# 2 楼答案
要更改
Seekbar
拇指的颜色,请在style.xml
中创建一个新样式最后,在布局中:
要更改
Seekbar
进度颜色,请在Java类中使用此选项这两种方法都适用于API>;十六,
编辑
通过Java代码更改SeekBar拇指的颜色
# 3 楼答案
你需要这样称呼你seekbar
其中
YOUR_NEW_STYLE
将定义所需Seekbar
的颜色# 4 楼答案
试试这个:
# 5 楼答案
虽然使用样式是一个好主意,但它没有提供太多的灵活性,特别是如果您希望以编程方式指定颜色,我建议:
//for the progress seekBar.getProgressDrawable().setColorFilter(mThemeColor,PorterDuff.Mode.SRC_ATOP); //for the thumb handle seekBar.getThumb().setColorFilter(mThemeColor, PorterDuff.Mode.SRC_ATOP);
# 6 楼答案
您可以通过编程方式更改seekbar thumb和progress的颜色,如下所示: