Android开发图片的变暗与变亮

释放双眼,带上耳机,听听看~!

昨天,我做一个照片墙,需要当用户没有选择图片删除时,删除图标变暗且不可点击,选中了图片后删除图标变亮。查了一些资料,终于做出来了。

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],正片叠底,即查看每个通道中的颜色信息,并将基色与混合色复合。结果色总是较暗的颜色,任何颜色与黑色复合产生黑色,任何颜色与白色复合保持不变,当用黑色或白色以外的颜色绘画时,绘画工具绘制的连续描边产生逐渐变暗的颜色。

其实就是两图层交集部分叠加后颜色,当灰色与图片叠加后,图片就变暗了。与白色叠加后,恢复原图。就是这样简单。

人已赞赏
Android文章

android 键盘的隐藏与显示

2020-3-13 20:23:32

Android文章

android Lint优化代码

2020-3-14 0:00:36

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索