Изменение размеров элементов в столбце

#list #flutter #dart #height

#Список #трепетание #dart #высота

Вопрос:

Я хотел бы добиться в Flutter чего-то подобного в XAML:

 <RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="*" />
</RowDefinition>
 

Я борюсь с созданием фракции в Flutter.

Я хотел бы, чтобы в моем столбце отображались два независимых контейнера: номинатор и знаменатель. И я бы хотел, чтобы они были точно такого же размера. Я имею в виду, что когда в номинаторе есть другая дробь, знаменатель должен быть той же высоты.

Возможно ли иметь столбец с двумя элементами каждого размера в зависимости от самого высокого?

Я пытался использовать IntrinisicHeight, но это не работает, когда высота не указана.

Но XAML мог бы отобразить его, потому что он автоматически вычислялся и устанавливал соотношение 1: 1 для обоих элементов.

Ответ №1:

Expanded Для этого используйте виджет:

 Column(
      children: [
        Expanded(
          flex: 1,
          child: Container(),
        ),
        Expanded(
          flex: 1,
          child: Container(),
        ),
      ],
    );
 

Аргумент flex используется 1 по умолчанию, поэтому вам это даже не нужно. подробнее о расширенном виджете:
https://api.flutter.dev/flutter/widgets/Expanded-class.html

Комментарии:

1. Но это не работает, потому что родительские элементы столбца не имеют фиксированной высоты.