Container自身尺寸变化的两种状况,如下两种状况皆不考虑父节点设置constraints和Container自身设置的width、height:java
Container(
constraints: BoxConstraints(maxWidth: 200.0,maxHeight: 100.0),
width: 500.0,
height: 500.0,
)
复制代码
alignment :设置子节点的对齐方式,这里咱们得考虑到Container的大小须要比子节点的大小更大,否则这里的对齐咱们是看不到效果的,对齐的方式有不少种bash
padding :设置padding,设置内边距,和Android的是同样的,用法以下:布局
padding: const EdgeInsets.all(10.0),
复制代码
color : 设置背景颜色,该参数与foregroundDecoration、decoration不能共用,否则会被遮盖或报错this
decoration : 设置背景装饰,处于child的后面,这里的装饰能够设置圆角、边框、背景色、背景图片等等之类的,功能比较强大,好比说咱们用BoxDecoration就有这么多选项能够设置,还有其余的Decoration能够供咱们选择spa
const BoxDecoration({
this.color,
this.image,
this.border,
this.borderRadius,
this.boxShadow,
this.gradient,
this.backgroundBlendMode,
this.shape = BoxShape.rectangle,
})
复制代码
foregroundDecoration :设置背景装饰,处于child的前面,此处的装饰和上面的是同样的code
width、 height :设置宽与高,这里咱们若是想要将宽或高撑满能够用double.infinity来达到目的orm
width: double.infinity,
复制代码
constraints :这个参数咱们上面说过了,就是设置当前的Container的最大值,或者叫作约束cdn
margin :外边距,和Android的margin同样的效果,代码以下blog
margin: const EdgeInsets.all(10.0),
复制代码
transform :设置Container的变换矩阵,用法以下继承
child : 子节点
Padding这个最容易理解了,咱们在Container中不是说过一个padding这个参数吗?就是这个,其实Container中的padding这个参数也是调用的Padding这个widget来达到目的的,padding就是设置内边距,他的用法很容易,以下所示,简单的用就是设置一个内边距,而后child设置一个子节点;
Padding(padding: const EdgeInsets.all(10.0),child: Text("title"),)
复制代码
咱们在Container的时候用过一个alignment参数,设置对齐方式,这个Align就是对齐布局,他的用法以下
Align(
alignment: Alignment.center,
widthFactor: 2.0,
heightFactor: 2.0,
child: Text("XXX")
)
复制代码
参数说明:
alignment:这个不用解释了吧,上面已经说了,是用来控制他的对齐方式了,有不少种对齐方式
widthFactor: 宽度因子,若是设置了宽度因子,则宽度会按照子节点的宽度*宽度因子数
heightFactor:高度因子,这个和宽度因子是同样的做用
chaild:子节点
Center他是继承自Align,其内部就是帮咱们设定了对齐方式为Alignment.center,其余的参数与Align同样,可是缺乏了对齐方式的设定,由于这里的对齐方式已经设定死了