2011-12-23 80 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); 

如果你的API級別21,可以使用getProgressBackgroundTintList或getProgressBackgroundTintMode()。

+0

這不會改變前棒棒糖上Seekbar進度的色調。 –

+1

@IgorGanapolsky我已經在前棒棒糖測試過,它工作正常! – uiltonsantos