Flutter常用组件-文本和样式组件

以下源码部分均只给出构造函数属性部分

1Text

在Flutter中,Text组件用于显示文本内容,并且可以根据需要自定义文本样式。

源码:
  const Text(
    String this.data, {
    super.key,
    this.style,
    this.strutStyle,
    this.textAlign,
    this.textDirection,
    this.locale,
    this.softWrap,
    this.overflow,
    @Deprecated(
      'Use textScaler instead. '
      'Use of textScaleFactor was deprecated in preparation for the upcoming nonlinear text scaling support. '
      'This feature was deprecated after v3.12.0-2.0.pre.',
    )
    this.textScaleFactor,
    this.textScaler,
    this.maxLines,
    this.semanticsLabel,
    this.textWidthBasis,
    this.textHeightBehavior,
    this.selectionColor,
  }) 
参数说明:
  • data:要显示的文本内容,是必需的参数。
  • key:用于识别此组件的唯一键。通常用于测试和框架内部算法。
  • style:文本样式,用于定义文本的字体、大小、颜色等。
  • strutStyle:用于控制行高的样式,可以在字体大小相同的情况下,调整不同行之间的间距,使得文本更加美观。
  • textAlign:文本的对齐方式,可以是左对齐、右对齐、居中对齐等。
  • textDirection:文本的方向,可以是从左向右(TextDirection.ltr)或从右向左(TextDirection.rtl)。
  • locale:文本的语言环境,用于国际化和本地化。
  • softWrap:当文本内容超出容器宽度时,是否自动换行。
  • overflow:当文本内容超出容器高度或宽度时的处理方式,可以是省略号、截断或滚动。
  • textScaleFactor:(已弃用)文本缩放因子,用于调整文本大小。从3.12.0-2.0.pre版本开始已弃用,推荐使用textScaler属性。
  • textScaler:文本缩放器,用于控制文本的缩放行为。
  • maxLines:文本显示的最大行数,超出部分会被省略或截断。
  • semanticsLabel:用于辅助技术的文本标签,例如屏幕阅读器。
  • textWidthBasis:文本宽度的基础计算方式,默认为父容器的宽度。
  • textHeightBehavior:用于控制文本的行高,例如行间距等。
  • selectionColor:文本被选中时的背景颜色。

2RichText

RichText 组件是 Flutter 中用于显示富文本的组件,它允许在文本中应用不同的样式和属性。相比于 Text 组件,RichText 更加灵活,可以实现更复杂的文本排版效果。

源码:
  RichText({
    super.key,
    required this.text,
    this.textAlign = TextAlign.start,
    this.textDirection,
    this.softWrap = true,
    this.overflow = TextOverflow.clip,
    @Deprecated(
      'Use textScaler instead. '
      'Use of textScaleFactor was deprecated in preparation for the upcoming nonlinear text scaling support. '
      'This feature was deprecated after v3.12.0-2.0.pre.',
    )
    double textScaleFactor = 1.0,
    TextScaler textScaler = TextScaler.noScaling,
    this.maxLines,
    this.locale,
    this.strutStyle,
    this.textWidthBasis = TextWidthBasis.parent,
    this.textHeightBehavior,
    this.selectionRegistrar,
    this.selectionColor,
  })
参数说明:
  • key:用于识别此组件的唯一键。通常用于测试和框架内部算法。
  • text:包含样式的文本内容,是必需的参数。
  • textAlign:文本的对齐方式,默认为TextAlign.start,即左对齐。
  • textDirection:文本的方向,可以是从左向右或从右向左。
  • softWrap:当文本内容超出容器宽度时,是否自动换行,默认为true。
  • overflow:当文本内容超出容器高度或宽度时的处理方式,默认为TextOverflow.clip,即裁剪。
  • textScaleFactor:(已弃用)文本缩放因子,用于调整文本大小。从3.12.0-2.0.pre版本开始已弃用,推荐使用textScaler属性。
  • textScaler:文本缩放器,用于控制文本的缩放行为。
  • maxLines:文本显示的最大行数,超出部分会被省略。
  • locale:文本的语言环境,用于国际化和本地化。
  • strutStyle:用于控制行高的样式,可以在字体大小相同的情况下,调整不同行之间的间距。
  • textWidthBasis:文本宽度的基础计算方式,默认为TextWidthBasis.parent,即父容器的宽度。
  • textHeightBehavior:用于控制文本的行高,例如行间距等。
  • selectionRegistrar:用于管理文本的选中状态。
  • selectionColor:文本被选中时的背景颜色。

3TextStyle

TextStyle 是用于指定文本样式的类,用于设置文本的外观和格式。

源码:
TextStyle({
  this.inherit = true,
  this.color,
  this.backgroundColor,
  this.fontSize,
  this.fontWeight,
  this.fontStyle,
  this.letterSpacing,
  this.wordSpacing,
  this.textBaseline,
  this.height,
  this.leadingDistribution,
  this.locale,
  this.foreground,
  this.background,
  this.shadows,
  this.fontFeatures,
  this.fontVariations,
  this.decoration,
  this.decorationColor,
  this.decorationStyle,
  this.decorationThickness,
  this.debugLabel,
  String? fontFamily,
  List<String>? fontFamilyFallback,
  String? package,
  this.overflow,
})
参数说明:
  • inherit: 是否继承父级文本样式,默认为 true。如果设置为 true,则会继承父级的文本样式;如果设置为 false,则会忽略父级的样式。
  • color: 文本颜色。
  • backgroundColor: 文本背景颜色。
  • fontSize: 字体大小。
  • fontWeight: 字重,用于设置文本的粗细程度,例如 FontWeight.bold 表示粗体。
  • fontStyle: 字体样式,可以是 FontStyle.normal(正常)或 FontStyle.italic(斜体)。
  • letterSpacing: 字母间距,控制相邻字母之间的距离。
  • wordSpacing: 单词间距,控制相邻单词之间的距离。
  • textBaseline: 文本基线,用于对齐文本的底部。
  • height: 行高,用于控制文本行与行之间的距离。
  • leadingDistribution: 行高分布方式,用于设置行高的分布方式,例如 TextLeadingDistribution.even 表示均匀分布。
  • locale: 文本的语言环境,用于国际化和本地化。
  • foreground: 文本前景色,与 color 类似,但具有更高的优先级。
  • background: 文本背景色,与 backgroundColor 类似,但具有更高的优先级。
  • shadows: 文本阴影,可以设置多个阴影效果。
  • fontFeatures: 字体特性,用于设置字体的特性,例如小型大写字母等。
  • fontVariations: 字体变体,用于设置字体的变体,例如宽度、风格等。
  • decoration: 文本装饰,可以是 TextDecoration.none(无装饰)、TextDecoration.underline(下划线)等。
  • decorationColor: 文本装饰颜色。
  • decorationStyle: 文本装饰样式,可以是 TextDecorationStyle.solid(实线)等。
  • decorationThickness: 文本装饰厚度,用于设置装饰线的粗细。
  • debugLabel: 用于调试的标签。
  • fontFamily: 字体族名称,用于指定字体的名称。
  • fontFamilyFallback: 字体族后备名称,如果指定的字体不可用,将会尝试使用后备名称。
  • package: 字体族所在的包名称。
  • overflow: 文本溢出处理方式,例如 TextOverflow.ellipsis(省略号)表示文本溢出时使用省略号表示。
4Container

Container 是一个常用的布局组件,用于包裹其它子组件,并提供一些样式和布局属性。

源码:
Container({
  super.key,
  this.alignment,
  this.padding,
  this.color,
  this.decoration,
  this.foregroundDecoration,
  double? width,
  double? height,
  BoxConstraints? constraints,
  this.margin,
  this.transform,
  this.transformAlignment,
  this.child,
  this.clipBehavior = Clip.none,
})
参数说明:
  • alignment: 子组件在容器内的对齐方式,默认为顶部居左对齐 (Alignment.topLeft)。
  • padding: 容器的内边距,用于控制容器内部子组件与容器边界的距离。
  • color: 容器的背景颜色。
  • decoration: 容器的装饰,可以是背景图片、边框、阴影等。
  • foregroundDecoration: 容器的前景装饰,与 decoration 类似,但是在子组件之上。
  • width: 容器的宽度。如果设置了宽度,则容器的宽度为指定的宽度,否则会根据子组件的大小自动调整。
  • height: 容器的高度。如果设置了高度,则容器的高度为指定的高度,否则会根据子组件的大小自动调整。
  • constraints: 容器的约束条件,用于限制容器的大小。
  • margin: 容器的外边距,用于控制容器与其它组件之间的距离。
  • transform: 容器的变换矩阵,用于对容器进行旋转、缩放、平移等操作。
  • transformAlignment: 变换的原点位置,默认为容器的中心点。
  • child: 容器中包含的子组件。
  • clipBehavior: 子组件裁剪行为,默认为 Clip.none,表示不裁剪子组件。可以设置为 Clip.hardEdgeClip.antiAliasClip.antiAliasWithSaveLayer,用于控制子组件的裁剪方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值