【问题标题】:Flutter root Column widget expanding to whole screen, why?Flutter root Column 小部件扩展到整个屏幕,为什么?
【发布时间】:2019-01-29 13:23:16
【问题描述】:

我是扑/飞镖的新手,刚刚找到自己的脚。

一直在玩一个非常简单的测试 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'),
            ]),
          ),
        ],
      ),
    );
  }
}

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

必须是一些简单的东西,但是当我查看文档并理解时我没有看到它。

非常感谢您的帮助。

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

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

    【讨论】:

    • 啊谢谢,我还没有研究约束,所以我的知识有限。将在文档中查看它们并尝试了解更多:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多