flutter - 为什么 AutoSizeText Widget 的 textAlign 和 Wrap Widget 的 crossAxisAlignment 不能正确对齐?
问题描述
我使用 aWrap
和 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
它显然正确对齐但问题是如果我删除它,文本不会调整大小..
解决方案
问题肯定是AutoSizeText
用Container
s 包装了,你可以试试这个,用 the 替换Wrap
并Row
用 a 包装它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!,
),
),
),
),
推荐阅读
- wpf - 两个 DataTemplate 之间的绑定仅在一个方向上起作用
- php - 安装 brexis / laravel-workflow 问题
- php - Laravel 没有在种子中使用 faker 语言环境
- r - r dplyr::case_when 错误:必须是字符向量,而不是双精度向量
- python-3.x - 如何使用 Python 3 列出所有与 Regex 对象匹配的模式?
- c# - 在 C# 中将 SqlDataReader 转换为对象列表的最快方法
- android - 将远程图像加载到 Android 中的 NotificationCompat MessagingStyle Message SetData
- javascript - 验证DOMNesting(...):
- python - 无法创建给定大小的必需列表
- android - 使用 JitPack 无法获取所有子项目