嗨, 我试图在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
都会始终将孩子放在左中间。
仅当包装容器的宽度固定时,问题才能解决。现在,我明白了为什么会发生这种情况,但是如果我想让容器像他的孩子一样大怎么办?标签是动态文本,因此他的宽度对我来说是无法预测的
有什么想法吗?
谢谢
答案 0 :(得分:1)
嗨,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)),
),
答案 1 :(得分:1)
这种对齐更灵活的方式是用 (node:26284) UnhandledPromiseRejectionWarning: Error: 409: Conflict: terminated by setWebhook request
包裹 Align
原始答案发布在这里Flutter: bottom center widget in stack
Positioned.fill