【问题标题】:Is it possible to make characters in Flutter to have the same width?是否可以使 Flutter 中的字符具有相同的宽度?
【发布时间】:2019-07-22 22:43:12
【问题描述】:

如下图所示,文本的字符数相同,但由于数字“1”比“5”和“2”要细,因此两个文本的宽度不同。

如何在 Flutter 中进行调整?

【问题讨论】:

    标签: dart flutter flutter-layout


    【解决方案1】:

    您可以将字体功能设置为使用tabularFigures

    // import 'dart:ui';
    
    Text(
      _getTimeString(),
      style: TextStyle(
        fontFeatures: [
          FontFeature.tabularFigures()
        ],
      ),
    ),
    

    之前:

    之后:

    另见:

    【讨论】:

      【解决方案2】:

      Hiepav 的建议,似乎是一个不错的方法,因为您没有做错任何事情,但字体中的每个字符都有不同的宽度,因此必须进行调整以提供足够的空间。

      但是,作为一种解决方法,您实际上可以将文本包装在一个固定宽度大小的框中,该框为两个小部件提供足够的空间来考虑其字符宽度的变化,例如 SizedBoxConstrainedBox 甚至带有宽度限制的 Container并居中对齐孩子。这样,使用该字体,您至少应该使 : 垂直对齐。

      【讨论】:

        【解决方案3】:

        使用等宽字体,也称为固定间距、固定宽度或非比例字体,是一种字体,其字母和字符各自占据相同数量的水平空间。

        维基百科解释得很好。 https://en.wikipedia.org/wiki/Monospaced_font

        【讨论】:

          猜你喜欢
          • 2019-01-12
          • 1970-01-01
          • 2011-06-08
          • 1970-01-01
          • 2023-03-11
          • 1970-01-01
          • 1970-01-01
          • 2012-10-12
          • 2017-04-27
          相关资源
          最近更新 更多