图片和颜色
tint属性
tint属性一个颜色值,可以对图片做颜色渲染,我们可以给view的背景设置tint色值,给ImageView的图片设置tint色值,也可以给任意Drawable或者NinePatchDrawable设置tint色值。
在应用的主题中也可以通过设置 android:tint
来给主题设置统一的颜色渲染。
tint的渲染模式有总共有16种,xml文件中可以使用6种,代码中我们可以设置16种,渲染模式决定了渲染颜色和原图颜色的取舍和合成规则:
PorterDuff.Mode.CLEAR
所绘制不会提交到画布上。PorterDuff.Mode.SRC
显示上层绘制图片PorterDuff.Mode.DST
显示下层绘制图片PorterDuff.Mode.SRC_OVER
正常绘制显示,上下层绘制叠盖。PorterDuff.Mode.DST_OVER
上下层都显示。下层居上显示。PorterDuff.Mode.SRC_IN
取两层绘制交集。显示上层。PorterDuff.Mode.DST_IN
取两层绘制交集。显示下层。PorterDuff.Mode.SRC_OUT
取上层绘制非交集部分。PorterDuff.Mode.DST_OUT
取下层绘制非交集部分。PorterDuff.Mode.SRC_ATOP
取下层非交集部分与上层交集部分PorterDuff.Mode.DST_ATOP
取上层非交集部分与下层交集