相关概念
BoxConstraints
对RenderBox布局进行不可变的布局约束,如果满足如下条件之一,就说明一个Size遵从BoxConstraints约束:
- minWidth <= Size.width <= maxWidth
- minHeight <= Size.height <= maxHeight
另外约束本身也要满足如下关系:
- 0.0 <= minWidth <= maxWidth <= double.infinity
- 0.0 <= minHeight <= maxHeight <= double.infinity
关键术语
- 坐标轴tightly: minimum == maximum
- 坐标轴loose: minimum==0.0
- 坐标轴bounded: maximum != infinite
- 坐标轴unbounded: maximum == infinite
- 坐标轴infinite: minimum == infinite
盒布局模型
布局模型把约束从父传给子组件,然后再把具体几何约束从子传给父组件。渲染对象定位子组件和渲染子组件两者是独立的,父组件使用子组件的尺寸来决定他们的位置。子组件并不知道自己的位置的,所以子组件位置变了,子组件也不会重新布局或者重绘。