Размер стека к родному брату - PullRequest
0 голосов
/ 01 июля 2018

Есть ли способ автоматически определить размер дочернего стека до его наибольшего брата? То есть если у меня есть Stack с ListTile и Container сверху, как мне убедиться, что Container покрывает все ListTile?

Пример:

new Stack(children: <Widget>[
      new ListTile(
          leading: new AssetImage('foo.jpg'),
          title: new Text('Bar'),
          subtitle: new Text('yipeee'),
          isThreeLine: true,
      ),
      new Container(color: Colors.grey, child: new Text('foo'))
 ],
)

Я пытался заставить его работать с Row, Column и Expanded, но столкнулся с проблемами с неограниченными ограничениями.

Есть ли способ увеличить Container (или любой другой виджет, такой как GestureDetector) до его самого большого брата в стеке?

1 Ответ

0 голосов
/ 13 августа 2018

У меня возникла та же проблема, и, наконец, мне удалось ее решить с помощью этого ответа:

Внутри вашего стека вы должны обернуть свой фоновый виджет в Positioned.fill.

return new Stack(
  children: <Widget>[
    new Positioned.fill(
      child: background,
    ),
    foreground,
  ],
);

- Мэри @ https://stackoverflow.com/a/45745479

Применение этого к вашему вопросу приводит к следующему:

Stack(
  children: <Widget>[
    ListTile(
      leading: AssetImage('foo.jpg'),
      title: Text('Bar'),
      subtitle: Text('yipeee'),
      isThreeLine: true,
    ),
    Positioned.fill(
      child: Container(color: Colors.grey, child: Text('foo')),
    ),
  ],
),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...