是否可以使 Flutter 中的字符具有相同的宽度?
Is it possible to make characters in Flutter to have the same width?
正如您在下图中看到的,文本具有相同数量的字符,但由于数字“1”比“5”和“2”更细,因此两个文本的宽度不同。
如何在 Flutter 中进行调整?
Use a monospaced字体,又称等距、等宽或不等比例字体,是一种字母和字符在水平方向上占据相同数量的字体space.
Hiepav 建议,似乎是个好方法,因为您并没有做错任何事情,但字体中的每个字符都有不同的宽度,因此必须进行调整以提供足够的空间。
但是,作为一种解决方法,您实际上可以将文本包装在一个固定宽度大小的框中,该框为两个小部件提供足够的 space 字符宽度变化,例如 SizedBox
、[=11] =] 甚至 Container
具有宽度限制和居中对齐 child。这样,使用该字体,您至少应该使 :
垂直对齐。
您可以设置字体功能以使用 tabularFigures
。
// import 'dart:ui';
Text(
_getTimeString(),
style: TextStyle(
fontFeatures: [
FontFeature.tabularFigures()
],
),
),
之前:
之后:
另请参阅:
正如您在下图中看到的,文本具有相同数量的字符,但由于数字“1”比“5”和“2”更细,因此两个文本的宽度不同。
如何在 Flutter 中进行调整?
Use a monospaced字体,又称等距、等宽或不等比例字体,是一种字母和字符在水平方向上占据相同数量的字体space.
Hiepav 建议,似乎是个好方法,因为您并没有做错任何事情,但字体中的每个字符都有不同的宽度,因此必须进行调整以提供足够的空间。
但是,作为一种解决方法,您实际上可以将文本包装在一个固定宽度大小的框中,该框为两个小部件提供足够的 space 字符宽度变化,例如 SizedBox
、[=11] =] 甚至 Container
具有宽度限制和居中对齐 child。这样,使用该字体,您至少应该使 :
垂直对齐。
您可以设置字体功能以使用 tabularFigures
。
// import 'dart:ui';
Text(
_getTimeString(),
style: TextStyle(
fontFeatures: [
FontFeature.tabularFigures()
],
),
),
之前:
之后:
另请参阅: