Android可绘制资源:动态更改图标颜色/“背景”?

时间:2011-09-10 21:19:38

标签: android resources image-manipulation drawable

我有一个透明的png文件,在我的UI中某处用作图标图像;我希望用户能够在运行时为它指定不同的颜色(如左下图中所示,假设我有android图标);或者不同的“背景”图像(右下方的图像,假设图标是组合圆形和三角形的形状)。我读了这个post,它使用ColorFilter将所有白色像素设置为代码中的另一种颜色;但它不允许我改变图标的​​“背景”。我想我可能可以用ClipDrawable做到这一点,但我无法弄清楚如何。

A: Suppose I have the android icon B: Suppose the icon is a shape combining a circle and a triangle)

1 个答案:

答案 0 :(得分:1)

如果您使用ImageView,则还可以设置图像源(android:src),还可以设置图像的背景(android:background)。因此,如果您的图像具有透明区域或具有Alpha通道的区域,则背景颜色将用于这些像素。

然后可以动态更改背景颜色。你能用这种方法吗?

    imageView.setBackgroundColor(0x00FF0000); // red