首页 > 解决方案 > React 本机应用程序在某些手机上具有反转颜色

问题描述

我开始对我的 reat natvie 应用程序进行 alpha 测试,其中一位测试人员向我报告说,在他的手机上,该应用程序看起来像处于暗模式:

在此处输入图像描述 在此处输入图像描述

我真的很惊讶,因为我的应用程序没有实现任何暗模式功能,应该如下所示:

在此处输入图像描述 在此处输入图像描述

测试人员使用的是小米 mi10 lite手机。

我的大多数应用程序屏幕都有SafeAreaView这样的风格:

  container: {
    flex: 1,
    backgroundColor: colors.secondaryColor,
  },

在哪里 secondaryColor 是'#abf0d1',有时 backgroundColor 是白色的,就像第二个屏幕截图一样。有谁知道这种颜色反转的东西可能是由什么引起的?

标签: androidreact-nativeexpobackground-color

解决方案


这是因为 MIUI 12+ 版本在单个应用程序的深色模式下具有高级功能,该功能通过反转布局颜色将不支持深色主题的 Light 主题应用程序变为深色主题布局。

如果您的应用仅支持 Light 主题,您可以通过以下方式阻止 Force Dark 模式:

将新属性添加到您的AppTheme主要res/values/资源styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="android:forceDarkAllowed">false</item> // <-- add this 
  ...

推荐阅读