暗模式:useColorScheme() 在 Android 上总是返回光
Posted
技术标签:
【中文标题】暗模式:useColorScheme() 在 Android 上总是返回光【英文标题】:Dark Mode: useColorScheme() always returns light on Android 【发布时间】:2021-09-15 11:34:26 【问题描述】:我正在尝试让深色模式工作,但它在 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
中,但没有任何区别。
【问题讨论】:
这能回答你的问题吗? React Native 0.62.2 Appearance return wrong color scheme 不,它没有。我没有启用调试器。它发生在 Expo 的多台设备上以及为 Android (APK) 构建应用程序时 【参考方案1】:我想通了。仅将"userInterfaceStyle": "automatic"
放在 app.json 根目录中是不够的,我还必须为 iOS 和 Android 单独定义它:
app.json:
"expo":
"userInterfaceStyle": "automatic",
"ios":
"userInterfaceStyle": "automatic"
,
"android":
"userInterfaceStyle": "automatic"
【讨论】:
哦,天哪,这太荒唐了。它绝对应该添加到文档中,或者只是修复为回退到***值。谢谢!【参考方案2】:为我工作
expo
"userInterfaceStyle": "automatic",
"ios":
"userInterfaceStyle": "automatic"
,
"android":
"userInterfaceStyle": "automatic"
【讨论】:
以上是关于暗模式:useColorScheme() 在 Android 上总是返回光的主要内容,如果未能解决你的问题,请参考以下文章