flutter text文本展開、收起功能實(shí)現(xiàn)

一、功能預(yù)覽

1. 收起狀態(tài)

WechatIMG2.png

2. 限制展開后最大顯示行數(shù)

WechatIMG6.jpeg

3. 最大行數(shù)無限制的展開狀態(tài)

WechatIMGn.jpeg

二、使用

TextLimitDisplay(
    text: desc,
    minLines: 2, // 收起狀態(tài)下最大展示行數(shù)
    maxLines: 6, // 展開后最大展示行數(shù)限制
    textStyle: TextStyle(
        fontWeight: FontWeight.w600,
        fontSize: 20,
    ),
)

三、實(shí)現(xiàn)原理

使用 TextPainter 對文字寬度進(jìn)行計(jì)算后,從原文本中截取出部分文本,然后使用富文本Text.rich拼接上結(jié)尾的展開/收起按鈕

四、完整代碼鏈接

完整代碼碼云鏈接

五、寫在結(jié)尾

命名比較隨意...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容