Android 设置图标颜色

发布时间 2023-10-19 16:59:50作者: zhaogaojian
        ImageView imageView=rootView.findViewById(R.id.avatarImage);
        imageView.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);

setColorFilter 是 Android 中的一个方法,用于对图像或绘制的颜色进行过滤或着色。这个方法通常用于改变图像的颜色,例如,将图像变为灰色、白色或应用不同的颜色效果。它可以用于修改图像的视觉外观,而不需要修改图像本身的资源文件。

setColorFilter 方法接受两参数:

  1. 颜色(Color):你可以指定要应用的颜色。通常,你可以使用 Color 类中的颜色常量,如 Color.REDColor.GREEN 或自定义颜色。你还可以使用整数表示的颜色值,例如 Color.rgb(255, 0, 0) 表示红色。

  2. PorterDuff 模式(PorterDuff.Mode):这个参数定义了如何将颜色应用到图像上。不同的模式会产生不同的效果,例如,PorterDuff.Mode.SRC_IN 用于将颜色应用到图像的交集部分,而 PorterDuff.Mode.MULTIPLY 用于将颜色与图像相乘,产生混合效果。

这个方法通常用于 ImageViewDrawableCanvas 对象,以便对图像进行颜色处理。它在许多 Android 应用程序中用于改变图标或图像的颜色,以适应应用程序的主题或状态。