Appearance¶
1 |
|
Модуль Appearance
предоставляет информацию о предпочтениях пользователя относительно внешнего вида, например, предпочитаемую цветовую схему (светлую или темную).
Заметки разработчика
API Appearance
вдохновлен проектом Media Queries draft от W3C. Предпочтение цветовой схемы создано по образцу функции prefers-color-scheme
CSS media feature.
Предпочтение цветовой схемы будет соответствовать предпочтению пользователя Светлая или Темная тема на устройствах с ОС Android 10 (уровень API 29) и выше.
Предпочтение цветовой схемы будет соответствовать предпочтению пользователя "Светлый" или Темный режим на устройствах с iOS 13 и выше.
Пример¶
Вы можете использовать модуль Appearance
, чтобы определить, предпочитает ли пользователь темную цветовую схему:
1 2 3 4 |
|
Хотя цветовая схема доступна сразу, она может меняться (например, запланированная смена цветовой схемы на восходе или закате). Любая логика рендеринга или стили, которые зависят от предпочитаемой пользователем цветовой схемы, должны стараться вызывать эту функцию при каждом рендеринге, а не кэшировать значение. Например, вы можете использовать хук React useColorScheme
, поскольку он обеспечивает и подписывается на обновления цветовой схемы, или вы можете использовать встроенные стили, а не устанавливать значение в StyleSheet
.
Методы¶
getColorScheme()¶
1 |
|
Указывает текущую предпочитаемую пользователем цветовую схему. Значение может быть обновлено позже, либо через прямое действие пользователя (например, выбор темы в настройках устройства или выбранный на уровне приложения стиль пользовательского интерфейса через setColorScheme
), либо по расписанию (например, светлые и темные темы, которые следуют циклу день/ночь).
Поддерживаемые цветовые схемы:
light
: Пользователь предпочитает светлую цветовую тему.dark
: Пользователь предпочитает темную цветовую тему.null
: Пользователь не указал предпочитаемую цветовую тему.
См. также: useColorScheme
.
Примечание: getColorScheme()
всегда будет возвращать light
при отладке в Chrome.
setColorScheme()¶
1 |
|
Заставляет приложение всегда принимать светлый или темный стиль интерфейса. Значение по умолчанию — null
, что заставляет приложение наследовать стиль интерфейса системы. Если вы присваиваете другое значение, новый стиль применяется к приложению и всем собственным элементам внутри приложения (оповещения, пикеры и т.д.).
Поддерживаемые цветовые схемы:
light
: Применить светлый стиль пользовательского интерфейса.dark
: Применить темный стиль пользовательского интерфейса.null
: Следовать стилю интерфейса системы.
Примечание: Изменение не повлияет на выбранный стиль интерфейса системы или стиль, установленный в других приложениях.
addChangeListener()¶
1 2 3 |
|
Добавьте обработчик событий, который запускается при изменении предпочтений внешнего вида.