嗨,我试图在Flutter的Stack中对齐一些小部件。我的最终结果是这样的:
我知道可以通过Row轻松实现,但是我想为两个孩子的位置设置动画,所以我不得不使用堆栈。
我的问题很简单:
return Container(
child: Stack(
children: <Widget>[
Align(
alignment: Alignment.centerLeft,
child: _buildSign(),
),
Align(
alignment: Alignment.centerRight,
child: _buildSign(),
),
],
),
);
这不会像我预期的那样呈现。不管我在alignment
字段中输入什么内容:Alignment.centerRight
和Alignment.centerLeft
始终会将孩子放在左中间。
仅当包装容器的宽度固定时,问题才能解决。现在,我明白了为什么会发生这种情况,但是如果我想让容器像他的孩子一样大怎么办?标签是动态文本,因此宽度对我来说是无法预测的]
有什么想法吗?
谢谢
Hy justAnotherOverflowUser,
在您的情况下,您必须在Positioned
小部件内使用Stack
小部件,它会给你你想要的。
例如:
Positioned(
left: 20.0,
child: new Icon(Icons.monetization_on, size: 36.0, color: const Color.fromRGBO(218, 165, 32, 1.0)),
),