暗模式:useColorScheme() 在 Android 上总是返回光 [英] Dark Mode: useColorScheme() always returns light on Android

查看:28
本文介绍了暗模式:useColorScheme() 在 Android 上总是返回光的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试让深色模式工作,但它在 Android 上不起作用.它总是返回光".在 iOS 上运行良好.

I am trying to get Dark Mode to work and it doesn't work on Android. It always returns "light". On iOS it works fine.

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.

I am using Expo SDK 42.

我把 "userInterfaceStyle": "automatic" 放在我的 app.json 中,但没有任何区别.

I put "userInterfaceStyle": "automatic" in my app.json but it doesn't make a difference.

推荐答案

我想通了.仅仅将 "userInterfaceStyle": "automatic" 放在 app.json 根目录中是不够的,我还必须为 iOS 和 Android 单独定义它:

I figured it out. It was not enough to just put "userInterfaceStyle": "automatic" in app.json root, I had to define it for iOS and Android individually too:

app.json:

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

这篇关于暗模式:useColorScheme() 在 Android 上总是返回光的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆