Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
93 of 196 menu
◀ ▶

Класс Appearance

Класс Appearance не рисует элементы на экране. Метод getColorScheme возвращает строку из перечисления ColorScheme или null, если тема ещё не известна. Метод addChangeListener вызывает обработчик при смене темы. Метод setColorScheme задаёт тему для приложения или сбрасывает её.

Синтаксис

import { Appearance } from 'react-native'; const scheme = Appearance.getColorScheme();

Методы

Метод Описание
getColorScheme Возвращает текущую тему или null.
addChangeListener Подписывает функцию на смену темы.
setColorScheme Фиксирует светлую, тёмную тему или сброс.

Пример

Давайте покажем текущую тему на экране:

import { View, Text, Appearance } from 'react-native'; export default function App() { const scheme = Appearance.getColorScheme(); return ( <View> <Text>{scheme ?? 'abcde'}</Text> </View> ); }

На экране строка 'light', 'dark' или запасной текст, если тема ещё null.

Пример

Давайте сменим фон в зависимости от темы:

import { View, Text, Appearance } from 'react-native'; export default function App() { const dark = Appearance.getColorScheme() === 'dark'; return ( <View style={{ flex: 1, backgroundColor: dark ? '#112233' : '#aabbcc' }}> <Text>12345</Text> </View> ); }

На экране светлый или тёмный фон и текст '12345'.

Смотрите также

  • функция useColorScheme,
    которая читает тему внутри компонента
  • перечисление ColorScheme,
    которое задаёт строки темы
  • функция DynamicColorIOS,
    которая подстраивает цвет под тему на iOS
  • компонент StatusBar,
    который меняет вид системной полосы
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить