一、功能预览
1. 收起状态

2. 限制展开后最大显示行数

3. 最大行数无限制的展开状态

二、使用
TextLimitDisplay(
text: desc,
minLines: 2, // 收起状态下最大展示行数
maxLines: 6, // 展开后最大展示行数限制
textStyle: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 20,
),
)
三、实现原理
使用 TextPainter 对文字宽度进行计算后,从原文本中截取出部分文本,然后使用富文本Text.rich拼接上结尾的展开/收起按钮
四、完整代码链接
五、写在结尾
命名比较随意...
网友评论