Protected against bots by Yandex SmartCaptcha. Data processing policy
AspectRatio
This page has not been translated into English yet. The Russian original is below.
Заставляет ребёнка держать заданное соотношение сторон «ширина к высоте». Элемент берёт максимум доступной ширины (или высоты, если ширина не ограничена) и подбирает вторую сторону по соотношению.
Тип:
single-child
AspectRatio aspectRatio:1.78
ColoredBox color:#4f46e5
Параметры
| Параметр | Тип | Default | Описание |
|---|---|---|---|
aspectRatio
|
double | 1.0 |
Ширина ÷ высота:
1.78
≈ 16:9,
1.0
— квадрат,
0.75
— портрет 3:4
|
Примеры
Обложка 16:9 под колонкой
Column spacing:8
AspectRatio aspectRatio:1.78
Image src:"https://example.com/cover.jpg" fit:cover
Text "Название"
Квадратная плитка
SizedBox width:120
AspectRatio aspectRatio:1.0
ColoredBox color:#059669
Скруглённая карточка с постером
AspectRatio aspectRatio:0.67
ClipRRect
#borderRadius circular 12
Image src:"https://example.com/poster.jpg" fit:cover
Различия между приложением и сайтом
- В приложении элемент выбирает наибольший размер с таким соотношением, который помещается в ограничения родителя. На сайте он занимает доступную высоту и вычисляет ширину, ограничивая её шириной родителя.
- Если у родителя и ширина, и высота заданы жёстко, соотношение соблюсти нельзя — родитель выигрывает.
Best practices
-
Давайте
AspectRatioограниченную ширину (колонка,SizedBox width, ячейка сетки): тогда высота выводится сама, без жёстких чисел. -
Для сетки одинаковых плиток подойдёт и
childAspectRatioу GridView .
See also
- SizedBox — фиксированные размеры
- GridView — сетка с общим соотношением ячеек
- ConstrainedBox — минимальные и максимальные размеры