如何连续间隔和调整两个项目的大小?

How to SpaceEvenly and Resize two items in a Row?

我正在尝试 spaceevenly Icon()AutoSizeText() Row()。 当数量如您在所附图像中看到的那样长时,它会按预期呈现,但当数量为零或非常短时,AutoSizeText() 居中,但这会导致与边缘的距离相同维护时间更长。居中导致了额外的距离。我不知道如何解决这个问题。

编辑。如果不清楚,我指的是粉色购物袋图标和“Riepilogo Settimanale”部分中显示的金额。如果您查看餐厅图标及其数量,您会注意到它们没有居中,它们更靠近左边缘。

Container(
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(20),
      ),
      width: size.width * 0.3,
      height: size.height,
      // height: size.height * 0.055,
      child: Row(
        children: [
          Spacer(),
          Expanded(
            flex: 3,
            child: Container(
              child: LayoutBuilder(
                builder: (context, constraint) {
                  return Icon(
                    icona,
                    color: colore,
                    size: constraint.biggest.width * 1,
                  );
                },
              ),
            ),
          ),
          Spacer(),
          Expanded(
            flex: 6,
            child: Center(
              child: AutoSizeText(
                importo,
                style: TextStyle(
                  fontSize: 20,
                  fontWeight: FontWeight.bold,
                  color: colore,
                ),
                maxLines: 1,
              ),
            ),
          ),
          Spacer(),
        ],
      ),
    )

如果我没理解错的话,你想右对齐文本,而不是居中。

为此,请考虑在图标和文本之间使用一个 Spacer()。外部间距(边距和填充)可以使用 Padding 小部件代替。