Flutter 中 Stack 的使用详解(内含对比图) _ Flutter Widgets,互联网寒冬
warning:
这篇文章距离上次修改已过203天,其中的内容可能已经有所变动。
在Flutter中,Stack是一个用来叠加widget的控件,它可以将子widget按照指定的位置进行叠加。
Stack的主要属性有:
- alignment:对齐方式,当child没有指定stack的位置时,会根据alignment来对齐。
- textDirection:文本方向,当child没有指定stack的位置时,会根据textDirection来确定对齐方向。
- fit:child如何填充Stack,有StackFit.loose和StackFit.expand两种。
- overflow:当child超过Stack的大小时,如何处理。有Overflow.clip和Overflow.ignore两种。
下面是一个使用Stack的例子:
Stack(
alignment: const Alignment(0.6, 0.6),
children: <Widget>[
CircleAvatar(
backgroundImage: NetworkImage(
'https://avatars3.githubusercontent.com/u/12552956?s=460&v=4'),
),
Container(
decoration: BoxDecoration(
color: Colors.black45,
),
child: Text('Flutter'),
),
],
)
在这个例子中,我们先加入了一个圆形头像,然后在其上覆盖了一层黑色半透明的层,并在上面添加了文本。通过alignment属性,我们指定了文本的对齐方式。
对于Stack的使用,有一点需要特别注意,那就是它的子widget可以是任意的Widget,包括但不限于Text、Image和其他的Stack。这意味着你可以在一个Stack里面嵌套另一个Stack,从而实现更为复杂的布局。
评论已关闭