Dimensions¶
useWindowDimensions — это предпочтительный API для компонентов React. В отличие от Dimensions, он обновляется по мере обновления размеров окна. Это хорошо сочетается с парадигмой React.
1 | |
Вы можете получить ширину и высоту окна приложения с помощью следующего кода:
1 2 | |
Хотя размеры доступны сразу, они могут меняться (например, из-за поворота устройства, складывания устройства и т. д.), поэтому любая логика рендеринга или стили, которые зависят от этих констант, должны пытаться вызывать эту функцию при каждом рендеринге, а не кэшировать значение (например, использовать встроенные стили, а не устанавливать значение в StyleSheet).
Если вы нацелены на складные устройства или устройства, которые могут изменять размер экрана или размер окна приложения, вы можете использовать слушатель событий, доступный в модуле Dimensions, как показано в примере ниже.
Пример¶
Методы¶
addEventListener()¶
1 2 3 4 5 6 7 | |
Добавьте обработчик события. Поддерживаемые события:
change: Срабатывает при изменении свойства в объектеDimensions. Аргументом обработчика события является объект типаDimensionsValue.
get()¶
1 | |
Начальные размеры устанавливаются до вызова runApplication, поэтому они должны быть доступны до запуска любых других require'ов, но могут быть обновлены позже.
Пример: const {height, width} = Dimensions.get('window');
Параметры:
| Имя | Тип | Описание |
|---|---|---|
dim (обязательно) | string | Имя размерности, определенное при вызове set. Возвращает значение для размерности. |
Для Android размер window будет исключать размер, используемый status bar (если он не полупрозрачный) и bottom navigation bar.
Определения типа¶
DimensionsValue¶
Свойства:
| Имя | Тип | Описание |
|---|---|---|
window | ScaledSize | Размер видимого окна приложения. |
screen | ScaledSize | Размер экрана устройства. |
ScaledSize¶
| Тип |
|---|
object |
Свойства:
| Имя | Тип |
|---|---|
width | number |
height | number |
scale | number |
fontScale | number |