简介:
一般情况下,Align是某个组件的属性来存在的,并不会单独拿出来。Align主要是设置child的对齐方式但Flutter例外。
Align基本用法。
Container(
color: Colors.green[100],
child: Align(
alignment: Alignment.center,
widthFactor: 1.0,
heightFactor: 1.0,
child: Text("SOS" ,style : TextStyle(fontSize : 28, color : Colors.red, ))
)
)
Align 基本属性都有
const Align({
Key key,
this.alignment = Alignment.center,
this.widthFactor,
this.heightFactor,
Widget child,
}) : assert(alignment != null),
assert(widthFactor == null || widthFactor >= 0.0),
assert(heightFactor == null || heightFactor >= 0.0),
super(key: key, child: child);
- alignment : 设置child的子级的对齐方式。
- widthFactor : 当我们Align 有父级时候,则WidthFactor对Align无效。反之会以child的倍数填充Align 的 width.
- heightFactor : 当我们Align 有父级的时候,则 heightFactor 对 Align无效。反之会以child的倍数填充Align 的 height.
Align的宽高,决定外部父容器的宽高。 如果上面我们没属性widthFactor 和 heightFactor属性的时候 则align会铺满整个屏幕,应为Container没设置高度的时候,就是会和外层容器宽高一样。
当且仅当 Align 外层没有高度的时候,则widthFactor heightFactor才起作用。
Align 外层没设置大小
Container(
color: Colors.green[100],
child: Align(
alignment: Alignment.center,
widthFactor: 4.0,
heightFactor: 3.0,
child: Text("SOS" ,style : TextStyle(fontSize : 28, color : Colors.red, ))
)
)
当你设置widthFactor较大的时候,超过了实际宽度,则会按照实际宽度设置。
Align 外层设置大小
Container(
color: Colors.green[100],
width: 150,
height: 150,
child: Align(
alignment: Alignment.center,
widthFactor: 6.0,
heightFactor: 6.0,
child: Text("SOS" ,style : TextStyle(fontSize : 28, color : Colors.red, ))
)
)
当你外层设置了大小的时候,你里面在设置widthFactor是无效的。