MIUI 12 适配深色模式问题

2021-05-05 21:03:23 +08:00
 HMSQQbA
MIUI 12 的深色模式中有个应用列表,可以在全局深色模式开启的情况下,允许某些应用不使用深色模式。

但某些应用在取消勾选的情况下,依然跟随深色模式。比如:钉钉

试验了一下,用 Android Studio 新建项目,选择任意模板,直接构建并在小米 8 MIUI 12 上运行,就会出现上述问题。

默认继承的主题是 Theme.MaterialComponents.DayNight.DarkActionBar

请问一下这方面应用如何适配?

很多流行应用都没有这个问题,如京东,支付宝等,所以一定有办法。
11854 次点击
所在节点    Android
14 条回复
RikkaW
2021-05-05 21:47:07 +08:00
没看懂问题在讲什么

但是如果是说自己正确设置了主题却还是被破米米把颜色给改掉,在自己的主题加上 android:forceDarkAllowed false 就可以不被改(

参考 https://github.com/RikkaApps/RikkaX/commit/3a0ab86f81fc8a8985d4b2892435ad449e92b9c3
HMSQQbA
2021-05-05 21:53:51 +08:00
@RikkaW 谢谢大佬回复!但这样似乎会完全禁用深色模式。

主贴说的是让应用可以使用 MIUI 的“全局深色例外模式”,即在启用深色模式的情况下允许个别应用保留浅色模式。

这应该是 MIUI 的特色功能,原版 Android 10 没有。
maizero
2021-05-05 22:00:46 +08:00
钉钉本身可以设置的
mxalbert1996
2021-05-05 23:24:02 +08:00
京东和支付宝有深色模式了?
datou
2021-05-05 23:30:42 +08:00
@mxalbert1996 国产系统可以强制反色的方式实现"dark mode"

比如 miui
mxalbert1996
2021-05-05 23:55:19 +08:00
@datou 那我理解这个开关只是控制是否对特定应用开启强制暗黑模式(对不提供暗黑主题的应用进行强制反色),如果应用本身已经提供暗黑主题则不受影响。
dingwen07
2021-05-06 02:21:57 +08:00
这个是 MIUI 对深色的优化开关,部分无良 APP 比如网易云淘宝推特不适配安卓的深色自动切换,MIUI 就通过反色优化,但是如果出了 bug 导致应用显示异常就得在这里关掉。这个选项不会让已经适配了自动切深色模式的 app 停止根据系统设置切换。
tanghongkai
2021-05-06 06:16:41 +08:00
钉钉自己有深色模式,他检测到系统开了深色模式自己处理的
clf
2021-05-06 10:09:09 +08:00
前段时间酷安上看到了一堆 App 的更新日志:防止 shit miui 强制深色模式修改自身的深色模式。
Lemeng
2021-05-06 10:14:36 +08:00
基本没弄过这些,不过有时候显示问题,,深色反色,倒是显示清晰
CSGO
2021-05-06 10:34:47 +08:00
我想知道这个反色是 MIUI 怎么识别的?比如一个 APP 没有黑暗模式,那强制反色黑暗模式很合理。那如果有个 APP,虽然没适配黑暗模式,能否简单的给黑暗模式用上和白色模式一样的代码来实现强制不被 MIUI 强制黑暗模式?
HMSQQbA
2021-05-06 12:37:50 +08:00
谢谢大家讨论,基本明白了,看来设置为不跟随系统,在应用内部加入独立设置是好方法。

似乎要用到 AppCompatDelegate 的 setDefaultNightMode 和 setLocalNightMode
AoEiuV020
2021-05-06 17:52:58 +08:00
这种一般都是谷歌安卓的更新跟不上国内安卓导致的,
miui 出深色模式的时候谷歌安卓还没出深色模式,
等谷歌安卓出了深色模式,miui 自然要去兼容谷歌,但软件开发者可不会去兼容 miui,只会使用谷歌提供的 api,就导致冲突,
yorktownting
2021-05-07 14:58:54 +08:00
@dingwen07 推特原来是强制的暗黑模式吗,体验好的离谱

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX