HMSQQbA
V2EX  ›  Android

MIUI 12 适配深色模式问题

  •  
  •   HMSQQbA · May 5, 2021 · 16135 views
    This topic created in 1860 days ago, the information mentioned may be changed or developed.
    MIUI 12 的深色模式中有个应用列表,可以在全局深色模式开启的情况下,允许某些应用不使用深色模式。

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

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

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

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

    很多流行应用都没有这个问题,如京东,支付宝等,所以一定有办法。
    14 replies    2021-05-07 14:58:54 +08:00
    RikkaW
        1
    RikkaW  
       May 5, 2021 via Android
    没看懂问题在讲什么

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

    参考 https://github.com/RikkaApps/RikkaX/commit/3a0ab86f81fc8a8985d4b2892435ad449e92b9c3
    HMSQQbA
        2
    HMSQQbA  
    OP
       May 5, 2021
    @RikkaW 谢谢大佬回复!但这样似乎会完全禁用深色模式。

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

    这应该是 MIUI 的特色功能,原版 Android 10 没有。
    maizero
        3
    maizero  
       May 5, 2021
    钉钉本身可以设置的
    mxalbert1996
        4
    mxalbert1996  
       May 5, 2021 via Android
    京东和支付宝有深色模式了?
    datou
        5
    datou  
       May 5, 2021
    @mxalbert1996 国产系统可以强制反色的方式实现"dark mode"

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

    似乎要用到 AppCompatDelegate 的 setDefaultNightMode 和 setLocalNightMode
    AoEiuV020
        13
    AoEiuV020  
       May 6, 2021
    这种一般都是谷歌安卓的更新跟不上国内安卓导致的,
    miui 出深色模式的时候谷歌安卓还没出深色模式,
    等谷歌安卓出了深色模式,miui 自然要去兼容谷歌,但软件开发者可不会去兼容 miui,只会使用谷歌提供的 api,就导致冲突,
    yorktownting
        14
    yorktownting  
       May 7, 2021
    @dingwen07 推特原来是强制的暗黑模式吗,体验好的离谱
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5373 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 154ms · UTC 07:59 · PVG 15:59 · LAX 00:59 · JFK 03:59
    ♥ Do have faith in what you're doing.