颤动的根列小部件扩展到整个屏幕,为什么?

时间:2019-01-29 13:23:16

标签: dart flutter

我是新来的扑/飞镖,只是发现我的脚。

曾经玩过一个非常简单的测试UI。我正在使用Material App和Scaffold小部件,并将Column小部件放置在Scaffold小部件的“主体”中。当我使用检查窗口小部件工具时,它会自动展开以占据整个屏幕。

这是代码。

class TestWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Text('bob'),
        ],
      ),
    );
  }
}

如果我随后嵌套一个Column小部件,它不会像它的父级那样扩展以占据垂直空间,则可以通过使用这样的Expanded小部件来更改它并占用该空间。

class TestWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Text('bob'),
          Expanded(
            child: Column(children: [
              Text('bob2'),
            ]),
          ),
        ],
      ),
    );
  }
}

我只是想了解为什么父“根”列默认情况下会占用所有空间,但是当我删除“扩展”小部件时,嵌套列却没有?

必须很简单,但在浏览文档并理解时却看不到。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是Flutter应用于根窗口小部件的布局约束。