在 Android N 和 O 中显示通知时,它的样式如下图所示: 通过使用 NotificationCompat.Builder 的 setColor 方法,可以更改图标和应用名称的顶部颜色。问题在于,显示的颜色与提供的颜色不匹配,因为通知中会变得 暗淡。我在 Google Pixel (Oreo)上进行了测试。这个问题有文档记录吗?有什么解决方法吗?
Google决定在使用setColor时限制可接受的颜色。是的,这是未记录、未经请求且邪恶的!通过一些挖掘(黑客方式),可以在(内部)ContrastColorUtil的源代码中找到它。请查看第300行(findContrastColor)和475行(resolveContrastColor),其中的理由是: 解析通知的颜色,使其具有足够的对比度作为通知操作和标题文本的颜色。 我不同意。Google应该更好地知道并不作恶于设计师和开发者的自由审美选择。