我是 flutter/dart 的新手,刚刚找到我的脚。
一直在玩一个非常简单的测试 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'),
]),
),
],
),
);
}
}
我只是想了解为什么父“根”列在默认情况下占用了它可以占用的所有空间,但是当我删除 Expanded 小部件时,嵌套列却没有?
一定是一些简单的东西,但是当我浏览文档并理解时我没有看到它。
非常感谢您的帮助。
最佳答案
这是 Flutter 对根 widget 应用的布局约束。
关于dart - Flutter 根 Column 小部件扩展到整个屏幕,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54422103/