Container 一个拥有绘制、定位、调整大小的 widget。
自身大小的表现形式
- 如果没有设置边距约束或者child属性没有值默认是无限大填充父视图可用区域,
- 如果设置child widget,大小跟随child widget变化,
- 如果设置了width | height 属性固定宽高
- 如果没有设置 width || height,但是设置了child widget,和 alignment 属性,没有指定具体属性的width或者height会无限大尽可能填充父视图,
可以这样理解,如果Container没有设置边界约束,但是又想设置child的位置,那么只有Container自己有一个确定的区域才能体现出child的位置,所以父widget的alignment 可能会影响child widget
- Container 大小受margin 属性控制,表示距离父widget 或者兄弟widget的距离,
- Contianer 大小受padding属性控制,如果padding的距离加上内容的宽或者高超过父widget的大小,内容区域会被压缩
构造函数
Container({
Key key,
this.alignment,
this.padding,
Color color,
Decoration decoration,
this.foregroundDecoration,
double width,
double height,
BoxConstraints constraints,
this.margin,
this.transform,
this.child,
})