容器组件Container包含一个子Widget,自身具备如下alignment、padding等基础属性,方便布局过程中摆放child。Container组件常用属性如下:
属性名 | 类型 | 说明 |
---|---|---|
key | Key | container唯一标识符,用于查找更新 |
alignment | AlignmentGeometry | 控制child的对齐方式,如果Container或Container父节点尺寸大于child的尺寸,这个属性设置会起作用,有很多对齐方式 |
padding | EdgeInsetsGeometry | Decoration内部的空白区域,如果有child的话,child位于padding内部 |
color | Color | 用来设置Container背景色,如果foregroundDecoration设置的话,可能会遮盖color效果 |
decoration | Decoration | 绘制在child后面的装饰,设置了decoration的话,就不能设置color属性,否则会报错,此时应该在Decoration中进行颜色的设置 |
foregroundDecoration | Decoration | 绘制在child前面的装饰 |
width | double | Container的宽度,设置为double.infinity可以强制在宽度上撑满,不设置,则根据child和父节点两者一起布局 |
height | double | Container的高度,设置为double.infiiity可以强制在高度上撑满 |
constraints | BoxConstraints | 添加在child上额外的约束 |
margin | EdgeInsetsGeometry | 围绕在Decoration和child之外的空白区域,不属于内容区域 |
transform | Matrix4 | 设置Container的变换矩阵,类型为Matrix4 |
child | Widget | Container中的内容Widget |
注意:padding与margin的不同之处在于,padding是包含在content内,而margin则是外部边界。设置点击事件的话,padding区域会响应,而margin区域不会响应