使用 SetColorFilter 神奇地改变图片的颜色

Posted HaiyuKing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 SetColorFilter 神奇地改变图片的颜色相关的知识,希望对你有一定的参考价值。

关键代码如下:

colors.xml文件中定义一个颜色值:

<color name="permission_dialog_img_color">#000000</color>

代码中调用:

int mFilterColor = ContextCompat.getColor(mContext,R.color.permission_dialog_img_color);
int blue = Color.blue(mFilterColor);
int green = Color.green(mFilterColor);
int red = Color.red(mFilterColor);
float[] cm = new float[]{
    1, 0, 0, 0, red,// 红色值
    0, 1, 0, 0, green,// 绿色值
    0, 0, 1, 0, blue,// 蓝色值
    0, 0, 0, 1, 1 // 透明度
};
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(cm);

((ImageView)itemView.findViewById(R.id.item_img)).setColorFilter(filter);//设置图标的颜色

 参考资料

一行代码搞定漂亮的Android6.0权限申请界面

Android-使用 SetColorFilter 神奇地改变图片的颜色

以上是关于使用 SetColorFilter 神奇地改变图片的颜色的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个视图会神奇地改变大小?

React 状态无缘无故地神奇地改变

如何改变图片大小?

ImageView的tint属性

ImageView的tint属性

Drawable.setColorFilter() 在 Android 2.1 上不起作用