为什么 AutoSizeText Widget 的 textAlign 和 Wrap Widget 的 crossAxisAlignment 没有正确对齐?

Why textAlign of AutoSizeText Widget and crossAxisAlignment of Wrap Widget doesn't align correctly?

我在同一行上使用 WrapAutoSizeText 来表示值和度量单位。

我试图在 Container 的末尾对齐值和度量单位,但它没有发生,我得到的是:

下面附上代码:

                          Wrap(
                            crossAxisAlignment: WrapCrossAlignment.end,
                            children: [
                              Container(
                                  color: Colors.red,
                                  height: calculatedHeight,
                                  child: AutoSizeText(
                                    val.toString() + ' ',
                                    minFontSize: 5,
                                    textAlign: TextAlign.end,
                                    style: TextStyle(
                                        fontSize: item.textSize),
                                  )),
                              Container(
                                  color: Colors.amber,
                                  height: calculatedHeight,
                                  child: AutoSizeText(
                                    unit,
                                    textAlign: TextAlign.end,
                                    minFontSize: 5,
                                    style: TextStyle(
                                        fontSize: item.unitSize),
                                  )),
                            ],
                          ),

如果我删除 Container 它显然对齐正确但问题是如果我删除它,文本不会调整大小..

问题肯定是用 Container 包裹了 AutoSizeText,您可以试试这个,用 Row 替换 Wrap 并用 FittedBox:

                            FittedBox(
                                fit: BoxFit.fitHeight,
                                child:
                                    Row(
                                      crossAxisAlignment:
                                          CrossAxisAlignment.end,
                                      children: [
                                        AutoSizeText(
                                          val.toString() + ' ',
                                          minFontSize: 1,
                                          style: TextStyle(
                                            fontSize: item.textSize,
                                            fontWeight: FontWeight.bold,
                                            color: HexColor(
                                              item.colors!.back!,
                                            ),
                                          ),
                                        ),
                                        AutoSizeText(
                                          unit,
                                          textAlign: TextAlign.end,
                                          minFontSize: 1,
                                          style: TextStyle(
                                            fontSize: item.unitSize,
                                            color: HexColor(
                                              item.colors!.back!,
                                            ),
                                          ),
                                        ),
                                      ),