层叠布局
层叠布局,就像 CSS
中的绝对定位,子组件可以根据父组件的位置来确定自身的位置。在 Flutter
中使用 Stack
和 Positioned
这两个组件来实现层叠布局。其中,Stack
允许子组件堆叠,而 Positioned
用于根据 Stack
的空间来定位。
Stack
说一句直白的话:Stack
就是 Positioned
定位的参考系!!!
来看定义:
Stack({
this.alignment = AlignmentDirectional.topStart,
this.textDirection,
this.fit = StackFit.loose,
this.overflow = Overflow.clip,
List<Widget> children = const <Widget>[],
})
alignment
—— 该参数用于控制如何对齐没有定位的子组件textDirection
—— 设置主轴的方向,与Row
中的行为一致fit
—— 控制没有定位的子组件如何去使用Stack
的大小overflow
—— 控制溢出的子组件。