栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Flutter:如何获取文本行数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flutter:如何获取文本行数

如果您只想检查文本中包含多少个换行符,则可以执行以下简单操作

final numLines = 'n'.allMatches(yourText).length + 1;

但是,我想您对视觉上实际显示的行数更感兴趣。在这里,事情变得有些复杂,因为您需要知道可用空间(

BoxConstraints
)才能计算文本需要多少行。为此,您可以使用
LayoutBuilder
延迟窗口小部件的构建,并使用a
TextPainter
进行实际计算:

return LayoutBuilder(builder: (context, size) {  final span = TextSpan(text: yourText, style: yourStyle);  final tp = TextPainter(text: span, maxLines: 3);  tp.layout(maxWidth: size.maxWidth);  if (tp.didExceedMaxLines) {    // The text has more than three lines.    // TODO: display the prompt message    return Container(color: Colors.red);  } else {    return Text(yourText, style: yourStyle);  }});

我从

auto_size_text
pub包中提取了一些代码,您可能对此也很感兴趣:它调整文本大小,使其适合给定的空间。

无论如何,在显示提示时要小心:您的小部件的

build
方法可能每秒被调用几次,导致同时显示多个提示。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406953.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号