在开发中我们需要去计算文本的高度,从来去设置控件的高度,在flutter中我们可以使用TextPainter来计算文本高度
//获取文字高度 text:文字内容 fontSize:字体大小 fontWeight:字重 height:行高 maxWidth:最大宽度,maxLines:最大行数
static double getTextContextSizeHeight(String text,double fontSize,FontWeight fontWeight,double height,double maxWidth,int maxLines){
TextPainter textPainter = TextPainter(
//用于选择用户的语言和格式首选项的标识符。
locale: WidgetsBinding.instance.window.locale,
//最大行数
maxLines: maxLines,
//文本书写方向l to r 汉字从左到右
textDirection: TextDirection.ltr,
//文本内容以及文本样式 style:可以根据在代码中设置的TextStyle增加字段。
text: TextSpan(
text: text,
style: TextStyle(
fontWeight:fontWeight,//字重
fontSize: fontSize ,//字体大小
height: height,//行高
)
)
);
//最大宽度
textPainter.layout(maxWidth: maxWidth);
//返回高度
return textPainter.height;
}
标签:maxWidth,text,maxLines,高度,height,fontSize,文本,Flutter
From: https://www.cnblogs.com/huangczh/p/17970487