容器类组件-尺寸限制类容器

尺寸限制类容器用于限制容器大小,Flutter中提供了多种这样的容器,如ConstrainedBox,SizeBox,UnconstrainedBox,AspectRatio等

ConstrainedBox

ConstrainedBox用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子组件的约束。

BoxConstraints

BoxConstrains用于设置限制条件

容器类组件-尺寸限制类容器_第1张图片

BoxConstrains还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,如BoxConstrains.tight(Size size);它可以生成给定大小的限制;BoxConstraints.expand()可以生成一个尽可能大的用以填充另一个容器的BoxConstraints。


SizeBox

SizeBox用于给子元素指定固定的宽高

容器类组件-尺寸限制类容器_第2张图片

实际上SizeBox只是ConstrainedBox的一个定制而实际上ConstrainedBox和SizedBox都是通过RenderConstrainedBox来渲染的,我们可以看到ConstrainedBox和SizedBox的createRenderObject()方法都返回的是一个RenderConstrainedBox对象:

容器类组件-尺寸限制类容器_第3张图片


UnconstrainedBox

UnconstrainedBox不会对子组件产生任何限制,它允许其子组件按照其本身大小绘制。一般情况下,我们会很少直接使用此组件,但在"去除"多重限制的时候也许会有帮助

你可能感兴趣的:(容器类组件-尺寸限制类容器)