flutter 可以折叠展开的text (类似微信朋友圈那种,展开按钮在最后面)

本文介绍了如何在Flutter中创建一个可折叠展开的Text组件,类似于微信朋友圈的显示方式。通过使用RichText和自定义代码,可以将长文本设置为仅显示部分内容,并在末尾添加展开按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写自定义目录标题

先看效果图
在这里插入图片描述
直接上代码
首先是richText


import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';

/**
 * 可展开的文本text
 */
// ignore: must_be_immutable
class OPRichText extends StatefulWidget {

  OPRichText({Key key, this.text, this.width,this.textColor})
      :super(key: key);
  double width;
   String text;
  Color textColor;
  @override
  _OPRichText  createState ()=>_OPRichText();
}

class _OPRichText extends State<OPRichText> {

  // 全文、收起 的状态
  bool mIsExpansion = false;
  int mSelectIndex = -1; //默认未选中
  bool IsExpansion(String text, width) {
    TextPainter _textPainter = TextPainter(
        maxLines: 3,
        text: TextSpan(
            text: text, style: TextStyle(fontSize: 14.0, color: Colors.black)),
        textDirection: Tex
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值