为什么 AutoSizeText Widget 的 textAlign 和 Wrap Widget 的 crossAxisAlignment 没有正确对齐?
Why textAlign of AutoSizeText Widget and crossAxisAlignment of Wrap Widget doesn't align correctly?
我在同一行上使用 Wrap
和 AutoSizeText 来表示值和度量单位。
我试图在 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!,
),
),
),
),
我在同一行上使用 Wrap
和 AutoSizeText 来表示值和度量单位。
我试图在 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!,
),
),
),
),