Android项目开发过程中经常会遇到按钮、图片点击效果的实现,不管背景是颜色还是图片一般常用做法都是用selector实现,类似下面的代码:
这样的做法虽然也可以,但难免有些麻烦,drawable目录下要新建很多xml文件,如果是图片点击效果,可能还需要在项目中添加两种状态的图片。
所以今天给大家介绍用tint着色来实现点击效果,简单理解tint就是在原有的图片或者颜色上面覆盖一层颜色,类似遮罩,但是可以设置不同的模式从而实现不同的遮罩效果,一般View有tint、tintMode,backgroudTint、backgoudTintMode,foregroundTint、foregroundTintMode这些属性可以设置,分别对应图片着色(模式)、背景着色(模式)、前景着色(模式),tint只能设置颜色,tintMode一般可以设置为这些值:
Mode.CLEAR;
Mode.SRC;
Mode.DST;
Mode.SRC_OVER;
Mode.DST_OVER;
Mode.SRC_IN;
Mode.DST_IN;
Mode.SRC_OUT;
Mode.DST_OUT;
Mode.SRC_ATOP;
Mode.DST_ATOP;
Mode.XOR;
Mode.DARKEN;
Mode.LIGHTEN;
Mode.MULTIPLY;
Mode.SCREEN;
Mode.ADD;
Mode.OVERLAY;
具体各有什么效果,我就不多说了,大家可以自行尝试,下面是