Text
const Text(
String this.data, { //必传参数、可以隐藏参数名
Key? key,
this.style, //Text的样式设置,可以设置背景、大小、颜色等 见 TextStyle
this.strutStyle,//Text自定义样式 见 strutStyle
this.textAlign,//居中,左对齐,右对齐等
this.textDirection,//从左到右,或者从右到左(阿拉伯语问题)
this.locale,//用于选择用户语言和格式设置首选项的标识符 类型 Locale
this.softWrap,//是否允许换行显示
this.overflow,//超出屏幕显示方式- 超出省略
this.textScaleFactor,//每个逻辑像素的字体像素数。
this.maxLines,//可选的最大文本行数,必要时可换行。不能设置0
this.semanticsLabel,//此文本的另一个语义标签。
this.textWidthBasis,//测量一行或多行文本宽度的不同方法。
this.textHeightBehavior,//测量一行或多行文本高度的不同方法。
})
TextStyle
const TextStyle({
this.inherit = true,//是否使用外部组件(或者全局)的样式来替换当前的style,默认是true
this.color,//文本的颜色
this.fontSize,//文本大小
this.fontWeight,//文本字体粗细
this.fontStyle,//文本的样式
this.letterSpacing,//每一个字母之间的距离,可以使用负值缩小空白
this.wordSpacing,//每个单词(相当于一个连续的文本)之间的距离,可以使用负值缩小空白
this.textBaseline,//文本对齐的基准线
this.height,//文字高度
this.locale,//根据你当前国际化本地环境的情况自动切换文本语言
this.foreground,//绘制一个前景(与背景相反),类型为Paint
this.background,//绘制一个背景,类型为Paint
this.shadows,//将在文本下方绘制阴影列表
this.decoration,//可以在文本下方进行装饰,比如绘制一个下划线,类型为TextDecoration
this.decorationColor,//文本下方装饰器的颜色
this.decorationStyle,//文本装饰器的样式
this.debugLabel,//debug模式下默认显示的提示
String fontFamily,//用来重新创建文本样式(一般使用在我们外部引入的字体库的时候,但是外部引入字体库以后这里必须指定package,package+fontFamily组合确定fontFamily属性的具体样式)
List<String> fontFamilyFallback,
String package,//当我们需要fontFamily的时候我们就需要指定当前的字体库的包名
})
-
height属性我们这里指定了1.5,可以看出来该属性是一个比例因子,并不是一个具体的值,默认是1,而行高的计算方式是fontsize属性 * height属性则为每一行文本的高度
-
fontsize我们可以看出来和原生开发的文本大小似乎一样,可以指定具体的值,而textScaleFactor 只是指定了整体的文本的缩放比例,我们可以理解为文本具体展示的大小为textScaleFactor * fontSize的值
StrutStyle
const StrutStyle({
String fontFamily,
List<String> fontFamilyFallback,
this.fontSize,
this.height, //上间距?
this.leading, // 绿色部分
this.fontWeight,
this.fontStyle,
this.forceStrutHeight,
this.debugLabel,
String package,
})
TextOverflow
enum TextOverflow {
/// 剪切溢出的文本以固定其容器。
clip,
/// 将溢出的文本淡入透明状态。
fade,
/// 使用省略号表示文本已溢出。
ellipsis,
/// 在其容器外呈现溢出的文本。
visible,
}