[bug fix]React native 的 useColorScheme 一直返回light的解决方案

问题描述

为了适配app的黑暗主题,在查阅react native官方文档后决定使用useColorScheme来获取实时的设备主题色 [light/dark/null]
相关文档 useColorScheme - react native

useColorScheme()总是返回light而不是根据系统的主题色,不管是在安卓系统还是ios都是如此

问题也没在百度检索到,所以记录一下

如何解决

在查阅expo相关文档后发现有相关配置项
相关文档 app.json - Expo Document

通过修改app.json文件得以解决
在该文件内做出以下新增

{
  "expo": {
    "userInterfaceStyle": "automatic",
    "ios": {
      "userInterfaceStyle": "automatic"
    },
    "android": {
      "userInterfaceStyle": "automatic"
    }
  }
}

参考
stack overflow
Dark Mode: useColorScheme() always returns light on Android
expo - github
EAS builds always report colorScheme = light on Android #16864


版权声明:本文为isKelel原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。