Text(普通文本)

  • 单一格式的文本
    1. Text(
    2. // 展示的文本内容
    3. this.data, {
    4. // 键
    5. Key key,
    6. // TextStyle对象,设置文字的样式,详见文中TextStyle说明
    7. this.style,
    8. // 支架样式,就是容纳文字的盒子大小和边距等的设置
    9. this.strutStyle,
    10. // 字体对齐方式,TextAlign枚举类
    11. this.textAlign,
    12. // 字体装饰
    13. this.textDirection,
    14. this.locale,
    15. this.softWrap,
    16. this.overflow,
    17. this.textScaleFactor,
    18. this.maxLines,
    19. this.semanticsLabel,
    20. this.textWidthBasis,
    21. })

TextAlign几种样式比较:依次为left、right、center、justify、start以及end

  • left:将文本在容器的左边缘对齐。
  • right:在容器的右边缘对齐文本。
  • center:在容器的中心对齐文本。
  • justify:以柔行结尾的拉伸文本行会中断以填充容器的宽度。以硬断行结尾的行与[start]边缘对齐。
  • start:将文本对齐容器的前边缘。对于从左到右的文本([TextDirection.ltr]),这是左边缘。对于从右到左的文本([TextDirection.rtl]),这是右边缘。
  • end:在容器的后沿上对齐文本。对于从左到右的文本([TextDirection.ltr]),这是右边缘。对于从右到左的文本([TextDirection.rtl]),这是左边缘。

image.pngimage.pngimage.pngimage.pngimage.pngimage.png

TextStyle(字体样式)

  • 创建文本样式。如果在软件包中定义了字体系列,则“ package”参数必须为非空。结合fontFamily参数来设置[fontFamily]属性。

    1. TextStyle({
    2. // 是否继承祖先文本(父节点如TextSpan)的样式
    3. this.inherit = true,
    4. // 字体颜色
    5. this.color,
    6. // 字体背景颜色
    7. this.backgroundColor,
    8. //
    9. this.fontSize,
    10. this.fontWeight,
    11. this.fontStyle,
    12. this.letterSpacing,
    13. this.wordSpacing,
    14. this.textBaseline,
    15. this.height,
    16. this.locale,
    17. this.foreground,
    18. this.background,
    19. this.shadows,
    20. this.fontFeatures,
    21. this.decoration,
    22. this.decorationColor,
    23. this.decorationStyle,
    24. this.decorationThickness,
    25. this.debugLabel,
    26. String fontFamily,
    27. List<String> fontFamilyFallback,
    28. String package,
    29. })
  • inherit属性说明:是否将空值替换为祖先文本样式(例如[TextSpan]树中的值)的值。如果为false,则没有显式值的属性将恢复为默认值:白色,无衬线字体,字体大小为10像素。

StrutStyle

  • 创建支撑样式。如果在软件包中定义了字体系列,则“ package”参数必须为非空。结合fontFamily参数来设置[fontFamily]属性。如果提供,fontSize必须为正且非零,前导必须为零或正。

    1. StrutStyle({
    2. String fontFamily,
    3. List<String> fontFamilyFallback,
    4. // 支撑框架高度(可以认为是行高)
    5. this.fontSize,
    6. this.height,
    7. // 文本上下间距(是StrutStyle的几倍)
    8. this.leading,
    9. //
    10. this.fontWeight,
    11. this.fontStyle,
    12. this.forceStrutHeight,
    13. this.debugLabel,
    14. String package,
    15. })
  • leading说明:该自定义的前导以[fontSize]的倍数应用于该支撑。前导是线之间的额外间距。引导的一半添加到该行的顶部,另一半添加到该行的底部。这与[高度]不同,因为间距在基线的上方和下方均等分布。默认的前导为null,它将使用字体指定的前导。

RichText(富文本)

DefaultTextStyle(缺省字体样式)