React 本机应用程序在某些手机上有反色

React native app has inverted colors on some phones

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

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

测试者正在使用 小米 mi10 lite phone.

我的大多数应用程序屏幕都位于顶部 SafeAreaView,样式如下:

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

其中 secondaryColor 为 '#abf0d1',有时 backgroundColor 为白色,如第二张屏幕截图所示。 有谁知道这种颜色反转的原因是什么?

这是因为MIUI 12+版本有一个针对个别应用的深色模式的高级功能,这个功能通过反转布局颜色将不支持深色主题的浅色主题应用变成深色主题布局。

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

res/values/ 资源 styles.xml

的主要 AppTheme 中添加一个新的 属性
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="android:forceDarkAllowed">false</item> // <-- add this 
  ...