我想创建一个自定义搜索栏,当用户更改栏的进度时,其进度条的颜色在红色和蓝色之间变化。
我尝试了它,但它只改变背景颜色而不是进度条颜色。
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
seekBar.setBackgroundColor(Color.RED + progress);
}
});
答案 0 :(得分:7)
有很多方法可以做到这一点,我会告诉你一个简单的方法。 您可以像这样设置progressBackground的颜色:
seekBar.getProgressDrawable().setColorFilter("<Color you wish>", PorterDuff.Mode.MULTIPLY);
如果您的api级别为21,则可以使用getProgressBackgroundTintList或getProgressBackgroundTintMode()。
答案 1 :(得分:3)