暗模式:useColorScheme()在Android上始终返回浅色

q9rjltbz  于 2023-02-06  发布在  Android
关注(0)|答案(3)|浏览(115)

我尝试让黑暗模式工作,但它在Android上不工作。它总是返回“光”。在iOS上它工作正常。

import React from 'react';
import { useColorScheme } from "react-native";

export default function App() {
  const theme = useColorScheme();
  alert("your color scheme is: " + theme); // always returns "light" on Android
  return null;
}

我正在使用Expo SDK 42。
我把"userInterfaceStyle": "automatic"放在我的app.json中,但没有什么不同。

9jyewag0

9jyewag01#

我想明白了,仅仅把"userInterfaceStyle": "automatic"放在app.json根目录下是不够的,我还必须为iOS和Android分别定义它:

应用程序json:

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

goqiplq22#

为我工作

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

  }
}
ycl3bljg

ycl3bljg3#

我也有同样的问题解决方案是在iOS和Android的app.json文件中手动设置这些属性。

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

相关问题