我有一个带有自定义 XML 布局的通知,因此我不能使用默认样式,如 MessagingStyle 或 MediaStyle。
问题是,即使开启了暗模式,通知也会保持白色,这很烦人。
我检查了 MessagingStyle 和 MediaStyle 的源代码,似乎暗模式背景颜色是由状态栏本身设置的,当使用这些样式时,它们无法从通知对象本身中提取(即使使用反射也不行)
是否有可能以某种方式检索背景颜色?
我认为对颜色进行硬编码不是一个好习惯,在不同的智能手机上可能会有所不同......
编辑:即使设置正确的颜色也无济于事......
通知在锁屏时是亮的,在通知栏中是暗的...
最佳答案
这似乎是三星问题:
on Stock Android 通知是白色的,即使使用暗模式,所以这里无事可做。
在三星设备上,通知也很暗,但在锁屏中仍然是白色的,所以如果你设置背景颜色,它在锁屏或通知栏中都是“错误的”(你总是可以在锁定/解锁时显示/取消不同的通知状态,什么不是一个很好的解决方案)
无论如何,有一种方法可以为三星设备获得正确的背景颜色:
在 https://stackoverflow.com/a/7320604/1988378解释了如何获取默认的文本颜色。
三星反转背景,使深色模式下的背景是浅色模式下的文字颜色。
关于Android - 自定义通知的暗模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58257993/