Ask the assistant
0/400
Your question is processed by an AI service and kept to improve answers. Do not enter personal data.

    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 — минимальные и максимальные размеры
    DOCS
    dark_mode_baseline
    RU/EN
    menu_baseline