Android可绘制资源: Dynamically change an icon color/"background"?

标签 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)

最佳答案

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

然后背景颜色可以动态改变。您可以使用这种方法吗?

    imageView.setBackgroundColor(0x00FF0000); // red

关于Android可绘制资源: Dynamically change an icon color/"background"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7374767/

相关文章:

android - 我可以在 android 2.2 上使用 API 级别 11 吗?

ruby-on-rails - 目录 : undefined method new for #<Class>

c - 在 OpenCV 中训练 SIFT 特征

android - 通过 MoSync 进行 android c++ 软件开发是否值得?

java - 安卓 java.lang.IllegalArgumentException : View not attached to window manager

c++ - 如何防止不同插件中出现重复的资源 ID?

java - 在 Java 中从字符串创建大小图像

java - 用于简单图像编辑的 SWING 组件

android - 是否可以为标注图形制作 9 补丁图?

wpf - 将样式资源分配给 DataGrid