这篇文章上次修改于 241 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

Android 在 App 中强制禁用深色模式

  1. 主要是以下这个属性

    • parent="Theme.MaterialComponents.Light.NoActionBar.Bridge" 使用 Light 主题
    • name="android:forceDarkAllowed" 强制关闭深色模式
  2. 完整的代码

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:tools="http://schemas.android.com/tools">
        <!-- Base application theme. -->
        <style name="Theme.Base" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
            <!-- Primary brand color. -->
            <item name="colorPrimary">@color/color_F3F3F1</item>
            <item name="colorPrimaryVariant">@color/color_F3F3F1</item>
            <item name="colorOnPrimary">@android:color/black</item>
            <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
            <!-- Secondary brand color. -->
            <item name="colorSecondary">@color/color_FFC01F</item>
            <item name="colorSecondaryVariant">@color/color_FFC01F</item>
            <item name="colorOnSecondary">@android:color/white</item>
            <!-- Status bar color. -->
            <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
            <!-- Customize your theme here. -->
            <item name="android:windowBackground">@color/color_F3F3F1</item>
            <item name="colorControlActivated">@color/color_FFC01F</item>
        </style>
    </resources>
  3. 然后在 AndroidManifest.xml 的 application 标签下设置 android:theme="@style/Theme.Base"
  4. 参考资料:Android在App中强制关闭禁用深色模式_张雨的博客-CSDN博客