改變 drawable 的顏色
Drawable wd = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wd, color);
return wd;
}
只要將使用中的drawable,用上面的方法處理,再拿來用,drawable的顏色就會改變。 這個方法可以用來處理ImageButton點擊後,ImageButton變色。方便許多。
現在ImageButton點擊後,會將原來的圖變成Color.GREEN的顏色,然後我們利用Handler,將原本未變色的ImageButton的圖再設定一次,就可以制造點擊時顏色按鈕顏色的改變了。
紅色標記的文字請自行修改。這裡有一個重點,藍色標記的mutate()代表這張圖的改變不影響其它也用到此張圖的物件。也就是說,如果沒有mutate(),其它用這張圖的物件也都會變成color.GREEN了。那麼,我們在handler中設置原圖就不起作用,因為原圖已經被Color.GREEN了,我們只是把被Color.GREEN過的圖再一次設為背景而以。
留言
張貼留言