Ffltter Text小部件中的StrutStyle是什么?我已经阅读了this documentation,但是我无法理解其含义,特别是heightleadingfontSize参数.

推荐答案

您可以将StrutStyle视为Text小部件中文本的最小行高.documentation号公路是一个很好的起点.

下面是一个有助于将其可视化的图像:

enter image description here

左边的彩色矩形是支柱(尽管实际上支柱没有宽度).该矩形的高度是最小行高.队伍不能再短了.但它可以更高.

  • 坡度是从基线到文本顶部的距离(由字体定义,而不是任何特定字形)
  • 体面是从基线到文本底部的距离(由字体定义,而不是任何特定的字形)
  • 前导(发音为"Ledding",如旧式排字机用来在行间使用的铅金属)是一行底部与另一行顶部之间的距离.在支柱中,一半的引线放在顶部,另一半放在底部.这是插图中的灰色区域.

可以使用倍增器更改支柱的垂直尺寸.

enter image description here

StrutStyle级中,height参数是上升和下降的乘数.在插图中,高度约为1.7,这使得绿色上升和粉红色下降的比例比原始图像中的大.前置高度倍增器可以单独控制.您可以使用leading参数来设置它.不过,我使用了与上升和下降相同的乘数.基线保持不变.

const Text(
  'My text',            // use 'My text \nMy text' to see multiple lines
  style: TextStyle(
    fontSize: 10,
    fontFamily: 'Roboto',
  ),
  strutStyle: StrutStyle(
    fontFamily: 'Roboto',
    fontSize: 14,
    height: 1.7,
    leading: 1.7,
  ),
),

其他设置,如fontFamilyfontSize,仅定义要使用高度乘数的字体度量.还请注意,TextStyle不必与StrutStyle相同.

支柱的概念来自CSS,这是从TeX得到的.

另见

Dart相关问答推荐

如何获取包含在 Dart 包中的assets资源 的文件路径?

Flutter Getx - 未找到Xxx.您需要调用Get.put(Xxx()) - 但我已调用 Get.put(Xxx())

在 Flutter 中将 Widget 放在 ListView 之上

Flutter 使用拖动和按钮单击扩展 TextField

Flutter - 自定义按钮点击区域

Flutter ButtonRow 填充

错误:非抽象类InternalSelectableMathState

替换 Flutter 中的片段等小部件

Flutter 以编程方式触发 FutureBuilder

Firebase Crashlytics 崩溃未报告给 Flutter 中的 Firebase 控制台

如何在Flatter中的屏幕中心创建选项卡栏?

有没有更好的方法来解析 Dart 中的 int

如何从类中访问元数据注释?

如何在 Flutter 中为 PopupMenu 添加圆角边框?

在 TextInputType 更改后控制器重置的 Flutter TextField

如何在Dart中测试流

如何减少 ListView.builder 中 RaisedButton 的宽度?

如何判断 Dart NNBD 中的泛型类型是否可以为空?

以编程方式使dart中的十六进制 colored颜色 变亮或变暗

方法级联如何在 dart 中准确工作?