使用 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 神奇地改变图片的颜色

posted @ 2018-10-04 14:40  HaiyuKing  阅读(1876)  评论(0编辑  收藏  举报