1.通过在布局文件中加入tint值改变颜色
2.通过如下参数构造ColorMatrix,进而构造ColorMatrixColorFilter,然后调用ImageView.setColorFilter()方法调整图标颜色
//设置图标的颜色
private void setIconColor(ImageView icon, int r, int g, int b, int a) {
float[] colorMatrix = new float[]{
0, 0, 0, 0, r,
0, 0, 0, 0, g,
0, 0, 0, 0, b,
0, 0, 0, (float) a / 255, 0
};
icon.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
}
如果图标是不透明的并且不需要透明的变化可以直接
icon.setColorFilter(Color.argb(255, r, g, b));
版权声明:本文为qq_31545245原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。