2011-12-23 3 views
4

Я хочу создать пользовательскую панель поиска, цвет изменения которой изменяется между красным и синим, поскольку пользователь меняет ход панели.Как изменить цвет хода хода в соответствии с его прогрессом?

Я пробовал, но только его цвет менял цвет не цвет индикатора выполнения.

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

      } 
     }); 

ответ

5

Есть много способа сделать это, я Скажем простой способ. Вы можете установить цвет progressBackground как это:

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

Если ваш уровень апи 21, вы можете использовать getProgressBackgroundTintList или getProgressBackgroundTintMode().

+0

Это не меняет оттенок хода искателя на пред-Lollipop. –

+1

@IgorGanapolsky Я протестировал в pre-lollipop, и он работает нормально! – uiltonsantos