如何根据进度改变搜索条的进度颜色?

时间:2011-12-23 11:43:11

标签: android colors seekbar

我想创建一个自定义搜索栏,当用户更改栏的进度时,其进度条的颜色在红色和蓝色之间变化。

我尝试了它,但它只改变背景颜色而不是进度条颜色。

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);

            }
        });

2 个答案:

答案 0 :(得分:7)

有很多方法可以做到这一点,我会告诉你一个简单的方法。 您可以像这样设置progressBackground的颜色:

seekBar.getProgressDrawable().setColorFilter("<Color you wish>", PorterDuff.Mode.MULTIPLY);

如果您的api级别为21,则可以使用getProgressBackgroundTintList或getProgressBackgroundTintMode()。

答案 1 :(得分:3)