颤动堆栈大小到同级

时间:2018-07-01 13:57:50

标签: flutter

是否有一种方法可以自动将堆栈子项的大小调整为最大? 即如果我有一个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'))
 ],
)

我试图使其与RowColumnExpanded一起使用,但是遇到了无限制约束的问题。

是否有一种方法可以将Container(或任何其他小部件,例如GestureDetector)的大小调整为堆栈中最大的同级兄弟?

1 个答案:

答案 0 :(得分:11)

我遇到了同样的问题,最后设法使用以下答案解决了这个问题:

  

在堆栈内部,应将背景小部件包装在Positioned.fill中。

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

-Mary @ 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')),
    ),
  ],
),