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

kai*_*uki 5 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);

            }
        });
Run Code Online (Sandbox Code Playgroud)

小智 7

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

seekBar.getProgressDrawable().setColorFilter("<Color you wish>", PorterDuff.Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)

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