在MIUI 11/12下激活黑暗模式时出现主题问题

时间:2020-07-02 12:27:40

标签: colors nativescript

编辑:MIUI强制在我的应用程序中激活黑暗模式,因此该应用程序看起来很糟糕。

在我的应用程序的某些部分,当我将“颜色”设置为“白色”时,它将显示为白色。

如果将其设置为“灰色”,它将显示为灰色。

如果将其设置为“红色”,它将显示为红色。

但是:如果我将其设置为“黑色”,它将是“白色!”

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

找到解决方案了!

<item name="android:forceDarkAllowed">true</item>设置为false 在App_Resources/Android/src/main/res/values/styles.xml

感谢此链接: https://medium.com/@kivind/nativescript-disabling-dark-mode-382e5dfd11bd

因此style.xml应该如下所示:

    <style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
        <item name="android:forceDarkAllowed">false</item>
        <item name="colorPrimary">@color/ns_primary</item>
        <item name="colorPrimaryDark">@color/ns_primaryDark</item>
        <item name="colorAccent">@color/ns_accent</item>
    </style>

答案 1 :(得分:6)

将许多不同的解决方案结合起来,我想出了这个演练

AppEntryPoint.kt

class AppEntryPoint : Application() {
    override fun onCreate() {
        super.onCreate()
        /*in some XIAOMI devices seems to be necessary*/
        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
    }
}

AndroidManifest.xml

<application
    android:name=".AppEntryPoint"
    ...
    android:theme="@style/Theme.MyMainTheme">
    ...
</application>

themes.xml

<style name="Theme.MyMainTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
    ...
    <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>

</style>

我不知道这是否是正确的解决方案,但现在它对我有用。 在某些小米设备中可能有一种奇怪的方法来管理这种行为......

希望这个答案对其他人也有用