首页 > 解决方案 > 忽略 Alpha 并覆盖目标的 Porter Duff 模式

问题描述

我正在尝试在折叠工具栏的动画期间以编程方式更改后退按钮的颜色。我希望它在展开时是全白的,并且在折叠时具有应用程序默认的后退按钮颜色,这是一种带有 alpha 的颜色(50% 时为黑色)。

我发现的所有设置图标颜色的示例都建议使用

setColorFilter(color, PorterDuff.Mode.SRC_ATOP)

问题是,这尊重 50% 的目标 alpha,当我处于扩展模式并尝试将颜色设置为纯白色时,它实际上是 50% alpha 的白色。

哪种 PorterDuff 模式的行为与SRC_ATOP但忽略 ALPHA 完全一样?

标签: androiddrawable

解决方案


我会考虑使用 LightingColorFilter 而不是 PorterDuff 操作。


推荐阅读