【发布时间】:2014-06-28 12:51:19
【问题描述】:
注意 - 这个问题涉及 android:background 属性。
令人困惑的是,“背景”也经常用于简单地表示“用于 Android 的照片的‘背景颜色’:src”。
说我有。
<ImageView
android:src="@drawable/white_foreground_thing"
android:background="@drawable/some_bg_thing"
/>
我要更改 setColorFilter。
事实上,这是否会影响仅影响“src” - 即前景。
或者它也会影响背景。?
android:background="@drawable/some_bg_thing"
在我的示例中,前景(即 src)是一个 40 像素的白点(因此,我将制作“不同颜色的点”)。
但是背景只是一个普通的按钮背景,实际上还有一些透明度等等。
所以我不想影响背景;我将只更改不同按钮的“大点颜色”。
请注意,(a) 使用 setColorFilter 的微妙之处很难从测试中确定,并且 (b) 我真的在 doco 中找不到这个(对于 Android 家伙来说可能很明显!)
进一步 - PosterDuff.Mode 与此处相关吗?还是完全不相关?
(例如,https://stackoverflow.com/a/18954101/294884)
顺便说一句,在许多情况下,这里是一个绝妙的解决方案。 https://stackoverflow.com/a/17756634/294884
(注意底部的彩色圆点)
但是在这里,我只想知道到底 setColorFilter 是影响 .background 还是只影响 .src
【问题讨论】:
-
is the PosterDuff.Mode relevant here?哦,是的。 很多。我发现这个page 真的很有启发性。请阅读并了解不同的 Porter Duff 模式将如何影响绘图。 -
现在要明确一点.. 我的意思是 IMAGEVIEW 的实际“背景属性”。我不是指“照片”的“背景”。 (因此,想象一下 .src 是“一张以蓝天为背景的猫的照片”。)我意识到您可以在使用滤镜时以某种方式使用矩阵来梳理颜色。但在这里,我的意思是,过滤器是否仅影响整个图像视图的 "android:background="@drawable/blah"" 方面......或者仅影响 src?
-
不,只有您应用过滤器的图像。即:src,在这种情况下。我提供了一个类似问题的答案(将叠加图像的颜色更改为另一个)-您可能会觉得这很有趣:here
-
太棒了!我想这就是答案..更好的帖子作为答案? (此站点上没有缩放按钮。)
标签: android android-imageview android-drawable