与堆栈在颤动中对齐

问题描述 投票:0回答:1

项目

嗨,我试图在Flutter的Stack中对齐一些小部件。我的最终结果是这样的:enter image description here

我知道可以通过Row轻松实现,但是我想为两个孩子的位置设置动画,所以我不得不使用堆栈。

我的问题很简单:

示例代码

return Container(
  child: Stack(
    children: <Widget>[
      Align(
        alignment: Alignment.centerLeft,
        child: _buildSign(),
      ),
      Align(
        alignment: Alignment.centerRight,
        child: _buildSign(),
      ),
    ],
  ),
);

这不会像我预期的那样呈现。不管我在alignment字段中输入什么内容:Alignment.centerRightAlignment.centerLeft始终会将孩子放在左中间。

仅当包装容器的宽度固定时,问题才能解决。现在,我明白了为什么会发生这种情况,但是如果我想让容器像他的孩子一样大怎么办?标签是动态文本,因此宽度对我来说是无法预测的]

有什么想法吗?

谢谢

flutter flutter-layout
1个回答
0
投票

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)),
),
© www.soinside.com 2019 - 2024. All rights reserved.