Align
目的是为了设置子child的对齐方式,比如居中,左上,右下等多个对齐方向,
const Align({
Key key,
this.alignment = Alignment.center, //设置对齐方向 FractionalOffset(0.5, 0.5) == Alignment(0.0,0.0) == Alignment.center
this.widthFactor, // Align的宽度是child的倍数 >=0.0
this.heightFactor, // Align的高度是child的倍数 >=0.0
Widget child,
}) :
当widthFactor和heightFactor为null的时候,当其有限制条件的时候,Align会根据限制条件尽量的扩展自己的尺寸,当没有限制条件的时候,会调整到child的尺寸;
当widthFactor或者heightFactor不为null的时候,Aligin会根据factor属性,扩展自己的尺寸,例如设置widthFactor为2.0的时候,那么,Align的宽度将会是child的两倍。
createRenderObject 方法
···
RenderPositionedBox createRenderObject(BuildContext context) {
return RenderPositionedBox(
alignment: alignment,
widthFactor: widthFactor,
heightFactor: heightFactor,
textDirection: Directionality.of(context),
);
}
···
网友评论