Android - 自定义通知的暗模式

标签 android notifications android-night-mode android-darkmode

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

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

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

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

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

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

最佳答案

这似乎是三星问题:

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

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

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

关于Android - 自定义通知的暗模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58257993/

相关文章:

android - 在 Android 上相当于键值观察

parse-platform - 解析推送通知教程问题 - android studio

android,如何在使用Theme.AppCompat.Light.DarkActionBar时使用MaterialCardView

android - 如何处理夜间模式的转换?

android - 如何使用相机(Android 设备)获取到物体的距离和物体的大小?

java - 编写提醒应用程序无法创建新对象

java - 如何在Android Fragment中设置自动完成文本

android - 通知在 Android Oreo 中被延迟

iphone - 在 "registerForRemoteNotificationTypes"中调用 "applicationDidBecomeActive"