1

我正在开发一个支持深色主题的反应原生应用程序。

我使用反应导航并使用反应上下文创建自定义主题。现在我可以使用按钮在暗模式和亮模式之间切换。但我想在打开应用程序时使用 android 主题(例如:暗模式)。这意味着如果在 android 中启用了暗模式,我的应用程序希望在打开应用程序时启用暗模式。

4

2 回答 2

3

Facebook 仍在努力添加外观支持: https ://github.com/facebook/react-native/commit/63fa3f21c5ab308def450bffb22054241a8842ef

在那之前,我建议使用类似的东西:https ://github.com/expo/react-native-appearance

然后,您可以检索设备的外观设置并加载适当的样式表,可能会为非深色模式或不支持它的设备提供备用。

于 2019-10-13T12:59:27.667 回答
2

您可以使用react-native-appearance

import { AppearanceProvider, Appearance } from 'react-native-appearance';

export default () => (
  <AppearanceProvider>
    <App />
  </AppearanceProvider>
);

let colorScheme = Appearance.getColorScheme();

let subscription = Appearance.addChangeListener(({ colorScheme }) => {
  // do something with color scheme
});
于 2019-10-13T19:44:29.037 回答