Как установить динамику c высоту контейнера, связанную с его следующей высотой контейнера в флаттере? - PullRequest
0 голосов
/ 04 марта 2020

Я хочу, чтобы высота моего второго (синего) контейнера соответствовала высоте первого (красного) контейнера.

Вот предварительный просмотр,

enter image description here

А вот код, который я сделал.

ListView(
  padding: EdgeInsets.only(top: 0),
  children: <Widget>[
    Row(
      children: <Widget>[
        Container(color: Colors.red, height: 100, width: 100,),
        Container(color: Colors.blue, height: 50, width: 50,),
      ],
    ),
    Divider(),
    Row(
      children: <Widget>[
        Container(color: Colors.red, height: 300, width: 100,),
        Container(color: Colors.blue, height: 50, width: 50,),
      ],
    ),
  ],
)

Итак, как мне заставить синий контейнер автоматически соответствовать высоте красного контейнера?

1 Ответ

1 голос
/ 05 марта 2020

Удалите параметр высоты дочернего элемента, который вы хотите расширить, и используйте IntrinsicHeight класс, как показано ниже.


ListView(
        padding: EdgeInsets.only(top: 0),
        children: <Widget>[
          IntrinsicHeight(
            child: Row(
              children: <Widget>[
                Container(color: Colors.red, height: 100, width: 100,),
                Container(color: Colors.blue,width: 100,),
              ],
            ),
          ),
          Divider(),
          IntrinsicHeight(
            child: Row(
              children: <Widget>[
                Container(color: Colors.red, height: 300, width: 100,),
                Container(color: Colors.blue, width: 50,),
              ],
            ),
          ),
        ],
      )

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...