4

我有一个带有自定义 XML 布局的通知,因此我不能使用默认样式,如 MessagingStyle 或 MediaStyle。

问题是,即使开启了暗模式,通知也会保持白色,这很烦人。

我检查了 MessagingStyle 和 MediaStyle 的源代码,似乎暗模式背景颜色是由状态栏本身设置的,使用这些样式时,它们无法从通知对象本身中提取(即使使用反射也不行)

是否有可能以某种方式检索背景颜色?

我认为对颜色进行硬编码不是一个好习惯,在不同的智能手机上可能会有所不同......

编辑:即使设置正确的颜色也无济于事......通知在锁屏中很亮,在通知栏中很暗......

4

1 回答 1

3

这似乎是三星问题:

on Stock Android 通知是白色的,即使使用暗模式,所以这里无事可做。

在三星设备上,通知也是黑暗的,但在锁屏中仍然是白色的,所以如果你设置背景颜色,它在锁屏或通知栏中都是“错误的”(你总是可以在锁定/解锁时显示/取消不同的通知状态,什么不是一个很好的解决方案)

无论如何,有一种方法可以为三星设备获取正确的背景颜色:在https://stackoverflow.com/a/7320604/1988378上解释了如何获取默认文本颜色。三星反转背景,使深色模式下的背景是浅色模式下的文字颜色。

于 2019-10-22T21:26:41.377 回答