Android 颜色叠加 - PorterDuff 模式
我有一个黑色 &白色的 ninepatch 可绘制作为视图的背景,我想在其上应用颜色,就像半透明的叠加层一样,使绘图可见,但在其上应用所需的颜色。
我认为 drawable.setColorFilter(color,mode)
可能可以解决问题,但我无法弄清楚不同模式的含义。
有人能给我提示吗?
I have a black & white ninepatch drawable as background of a view and I would like to apply a color on it, like a semi-transparent overlay that leaves the drawing visible but applies the desired color on it.
I thought drawable.setColorFilter(color,mode)
might do the trick, but I can't figure out what the different modes mean.
Could anyone give me a hint?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信这个问题可能对您有帮助:
了解使用 ColorMatrix 和 ColorMatrixColorFilter 修改 Drawable 的色调
也就是说,我建议使用
PorterDuff.Mode.MULTIPLY
来满足您的需求需要。I believe this question may help you:
Understanding the Use of ColorMatrix and ColorMatrixColorFilter to Modify a Drawable's Hue
That said, I would suggest using
PorterDuff.Mode.MULTIPLY
for what you're needing.