2013-10-22 15 views
1

我想更改SeekBar OnProgress更改事件上圖像的顏色?我在imageview和下面顯示的圖像中有一個SeekBar來更改圖像的顏色。Android:使用seekbar更改圖像的顏色

我使用下面的方法使用搜索條

private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() { 
    @Override 
    public void onProgressChanged(SeekBar seekBar, int progress, 
      boolean fromUser) { 
     updateOuterColor(); 
    } 

    @Override 
    public void onStartTrackingTouch(SeekBar seekBar) { 
    } 

    @Override 
    public void onStopTrackingTouch(SeekBar seekBar) { 
    } 
}; 

而且updateOuterColor方法看起來像這樣改變的ImageView的顏色。

private void updateOuterColor() { 
    seekR = seekBar1.getProgress(); 
    seekG = seekBar2.getProgress(); 
    seekB = seekBar3.getProgress(); 
    innerLips.setColorFilter(0xff000000 + seekR * 0x10000 + seekG * 0x100 
      + seekB); 
    eyeInnerOne.setColorFilter(0xff000000 + seekR * 0x10000 + seekG * 0x100 
      + seekB); 
    eyeInnerTwo.setColorFilter(0xff000000 + seekR * 0x10000 + seekG * 0x100 
      + seekB); 
} 

現在的問題是,當我移動我的seekbar這種方法覆蓋我的imageview。這意味着我無法看到我的imageview,而是看到我的圖像上有不同的顏色。我只是想將該顏色應用於我的圖像而不是圖像上。

我已經嘗試了一些不同的代碼和Android財產,但不能夠想通了。

如果任何一個有想法,請您幫助我...

+0

看看這個問題http://stackoverflow.com/questions/5699810/how-to-change-bitmap-image-color-in-android –

+0

嘿AS該代碼將直接更改圖像。我想用seekbar設置它。所以任何想法我怎麼能通過seekbar實現這一點。 – InnocentKiller

+0

只是結合你和他的代碼 –

回答

1

更新你這樣

public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) { 

       if(progress >= 25 && progress < 50) 
        // set color on image here 
       else if(progress >= 50 && progress < 75) 
        // set color on image here 
       else if(progress >= 75 && progress <= 100) 
        // set color on image here 
       else 
        // set color on image here 
      } 

onProgressChanged方法也請參閱本answer

爲了改變圖像顏色看到這個answer.

+0

感謝Brontok爲你的答案,但我沒有得到哪些屬性,我需要設置Imageview設置顏色。因爲如果我使用setColorFilter,那麼它完全結束寫我的imageview意味着我無法看到我的圖像,我可以看到的是我已應用於圖像的顏色。 – InnocentKiller

+0

更新的答案,現在檢查。 –