图片的变暗与变亮
昨天,我做一個照片墻,需要當用戶沒有選擇圖片刪除時,刪除圖標變暗且不可點擊,選中了圖片后刪除圖標變亮。查了一些資料,終于做出來了。
1.新建一個Drawable的 全局變量
private Drawable drawable;?
2.獲取需要變暗的圖標
drawable = getResources().getDrawable(R.drawable.alarm_empty);?
3.變暗時調用兩行代碼
drawable.setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY); delImageView.setBackgroundDrawable(drawable);?
4.需要變量時調用兩行代碼
drawable.setColorFilter(Color.WHITE, PorterDuff.Mode.MULTIPLY); delImageView.setBackgroundDrawable(drawable);?
?
在網上查了資料,PorterDuff.Mode.MULTIPLY的含義。
MULTIPLY
[Sa * Da, Sc * Dc],正片疊底,即查看每個通道中的顏色信息,并將基色與混合色復合。結果色總是較暗的顏色,任何顏色與黑色復合產生黑色,任何顏色與白色復合保持不變,當用黑色或白色以外的顏色繪畫時,繪畫工具繪制的連續描邊產生逐漸變暗的顏色。
?
其實就是兩圖層交集部分疊加后顏色,當灰色與圖片疊加后,圖片就變暗了。與白色疊加后,恢復原圖。就是這樣簡單。
總結
- 上一篇: ViewPager的事件冲突的解决
- 下一篇: GridView的全选与反选