Flutter 布局遵循的原则:
- 深度优先遍历渲染对象树原则
- 不同的视图实现不同的布局逻辑,布局逻辑决定其子视图的位置
- 父视图的约束决定子视图的大小
- 子视图的尺寸也会影响父视图
自己总结,以下是论证:
1、深度优先遍历。我们写Flutter的视图树代码就可以看的出来。也无需赘叙。
2、应用官方文档的的图片
Row和Column 为不同的组件。其内部则实现了对子视图的不同的布局。(Row和Column的使用参见)
3、父视图的约束决定子视图的大小
绿色视图Container边界设置是Edge 。LTRB(20.0, 30.0, 20.0, 20.0) 。其子视图Column的宽度就会充满父视图.
Container(
height: height,
padding:new EdgeInsets.fro