在 Flutter 中减少文本基线以下的区域

问题描述

我想减少 Flutter 应用中某些文本基线以下的区域。下面的空间可以在这里看到: Space below baseline

文本将始终是数字,因此它永远不会延伸到基线以下。下面是一个例子供参考: Letters that extend below baseline

有没有办法占据这个空间,让底部分隔线更靠近数字的底部

我尝试过 StrutStyle 小部件,但因为我使用的是 AutoSizeText 小部件,所以要可靠地工作有点困难。

我唯一的选择是找到一种在基线以下空间较小的大写字体吗?或者自己制作自定义字体(我知道该怎么做,但很痛苦)?

解决方法

我遇到了你的问题并想出了一个解决方案。

您可以使用 BaseLine 小部件。 How to use 然后把baseline = style.fontSize

示例代码:

Baseline(
        baseline: _style.fontSize,baselineType: TextBaseline.alphabetic,child: Text(
          text,style: _style,textAlign: TextAlign.center,overflow: TextOverflow.ellipsis,maxLines: 2,),)

之前:

enter image description here

之后:

enter image description here

但请注意每个小写字母,如 jgq。我的解决方案仅适用于大写。