Как активировать темный режим в приложении React Native, когда тема Android установлена в темный режим?
Я разрабатываю собственное приложение для реагирования, которое поддерживает темную тему.
Я использовал реагирующую навигацию и создал собственную тему, используя контекст React. Теперь я могу переключаться между темным и светлым режимами с помощью кнопки. Но я хочу использовать тему Android (например, темный режим) при открытии приложения. Это означает, что если в Android включен темный режим, мое приложение хочет, чтобы темный режим был включен при открытии приложения.
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
});
Facebook все еще работает над добавлением поддержки внешнего вида:https://github.com/facebook/react-native/commit/63fa3f21c5ab308def450bffb22054241a8842ef
А пока я бы рекомендовал использовать что-то вроде: https://github.com/expo/react-native-appearance
Затем вы можете получить настройки внешнего вида устройства и загрузить соответствующие таблицы стилей, возможно, с запасным вариантом для не темного режима или устройств, не поддерживающих его.