Container
类似iOS中的UIView,继承自StatelessWidget
布局
- 如果没有子Widget、没有设置width、height以及constraints,并且父Widget没有设置unbounded的限制,会将自身调整到足够小。
- 如果没有子Widget、alignment,但是提供了width、height或者constraints,那么Container会根据自身以及父节点的限制,将自身调节到足够小。
- 如果没有子Widget、width、height、constraints以及alignment,但是父Widget提供了bounded限制,那么Container会按照父Widget的限制,将自身调整到足够大。
- 如果有alignment,父Widget提供了unbounded限制,那么Container将会调节自身尺寸来包住child;
- 如果有alignment,并且父Widget提供了bounded限制,在父Widget的范围内,Container会将自身调整的足够大,然后将child根据alignment调整位置;
- 含有子Widget,但是没有width、height、constraints以及alignment,Container会将父Widget的constraints传递给子Widget,并且根据子Widget调整自身。
属性
-
margin:
内边距,和子Widget有关系 -
padding:
外边距,和父Widget有关系 -
alignment:
子Widget对齐方式- 默认是Alignment(0,0),子Widget居中。取值范围是(-1,1)。
-
child:
子部件 -
clipBehavior:
裁剪方法 -
color:
背景颜色,如果foregroundDecoration
设置的话,可能会遮盖color
效果。 -
constraints:
边界约束 -
decoration:
用来设置特殊背景、边框。绘制在child后面的装饰。设置了decoration
的话,就不能设置color
属性 -
foregroundDecoration:
用来设置特殊背景、边框。绘制在child前面的装饰 -
key:
一个唯一标记,仅仅用来更新widget->key相同的小部件的状态 -
transform
:矩阵变换 -
transformAlignment:
设置矩阵变换的对齐方式 -
width:
宽度,设置为double.infinity
可以强制在宽度上撑满,不设置,则根据child和父节点两者一起布局。 -
height:
高度,设置为double.infinity
可以强制在高度上撑满。