Chr*_*ris 2 dart flutter flutter-layout flutter-column
我被困住了......这是我的代码分解:
Column(
children: [
Column(
children: [
Text('Whyy'),
Spacer(),
Text('crash?'),
],
),
Text('ok'),
],
),
Run Code Online (Sandbox Code Playgroud)
这会因错误而崩溃:
RenderFlex 子级具有非零弯曲,但传入的高度约束是无界的。
当列位于不提供有限高度约束的父列中时(例如,如果它位于垂直可滚动列中),它将尝试沿垂直轴收缩包裹其子列。在子项上设置 Flex(例如使用 Expanded)表示子项将扩展以填充垂直方向上的剩余空间。这两个指令是互斥的。如果父级要收缩其子级,则子级不能同时扩展以适合其父级。
但为什么?到底为什么会崩溃?位于sParent-Column内。Scaffoldbody
我在这里缺少什么?
如果您需要更多信息,请告诉我!
这是因为内列对其高度没有任何限制,因此Spacer小部件可以占据无限大的空间。您可以通过用Expanded(或任何其他高度约束小部件,如SizedBox)包裹内列的高度来设置实际约束:
Column(
children: [
Expanded(
child: Column(
children: [
Text('No'),
Spacer(),
Text('crash!'),
],
),
),
Text('ok'),
],
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2308 次 |
| 最近记录: |