0

我有一个像这样的小部件树:

  Stack(
    children: [
      Text(
        '-',
        style: title,
      ),
      Positioned.fill(
        child: Center(
          child: Text(
            'FT',
            style: normal,
          ),
        ),
      )
    ],
  ),

我希望堆栈将宽度和高度都包装到其中的所有小部件中,如下所示:

期待

但它看起来像这样:

现实

Stack 从未填充的 Widget 中获取宽度和高度。如果我将两个 Widget 都包装在 Positioned.fill 中,则布局为空。有人知道怎么修这个东西吗?很多。

4

2 回答 2

1

您可以使用小部件alignment的属性Stack

尝试这个

     Stack(
            alignment: Alignment.center,
            children: [

              Text(
                'GAME',
                style: TextStyle(color: Colors.blue),
              ),
              Text(
                '  -  ',
                style: TextStyle(color: Colors.red),
              ),
            ],
          ),

输出

在此处输入图像描述

于 2020-07-25T04:06:59.817 回答
0

根据文档

堆栈调整自身大小以包含所有未定位的子项

因此,基于此,我们需要使用未定位的孩子,尽管它仍然可以与 .Align或类似的等价物对齐Center

Stack(
  children: [
    Center(
      child: Text(
        '  -  ',
      ),
    ),
    Center(
      child: Text(
        'FT',
      ),
    ),
  ],
);
于 2020-07-25T04:08:52.323 回答