Flutter 将文本截断为特定数字颤振文本小部件

Flutter 将文本截断为特定数字颤振文本小部件,flutter,Flutter,如何将flatter上的文本小部件截断为特定数字..并结束此文本,例如。。。“看到更多”或一些点“…” 查看更多或点可以与AlertDialog小部件连接以查看完整文本。。 感谢您的帮助。请按照以下步骤操作 步骤1:添加DescriptionTextWidget import 'package:flutter/material.dart'; class DescriptionTextWidget extends StatefulWidget { final String text;

如何将flatter上的文本小部件截断为特定数字..并结束此文本,例如。。。“看到更多”或一些点“…” 查看更多或点可以与AlertDialog小部件连接以查看完整文本。。 感谢您的帮助。

请按照以下步骤操作

步骤1:添加DescriptionTextWidget

import 'package:flutter/material.dart';

class DescriptionTextWidget extends StatefulWidget {
  final String text;

  DescriptionTextWidget({this.text});

  @override
  _DescriptionTextWidgetState createState() => _DescriptionTextWidgetState();
}

class _DescriptionTextWidgetState extends State<DescriptionTextWidget>
    with TickerProviderStateMixin<DescriptionTextWidget> {
  bool isExpanded = false;

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return new Column(children: <Widget>[
      AnimatedSize(
          vsync: this,
          duration: const Duration(milliseconds: 500),
          child: InkWell(
            onTap: () {
              setState(() {
                isExpanded = !isExpanded;
              });
            },
            child: Container(
              child: RichText(
                text: TextSpan(
                  style: Theme.of(context).textTheme.body1,
                  children: [
                    TextSpan(
                        text: isExpanded
                            ? widget.text
                            : ((widget.text.length > 350)
                                ? widget.text.substring(0, 350)
                                : widget.text),
                       ),
                    WidgetSpan(
                      alignment: PlaceholderAlignment.top,
                      child: (widget.text.length > 150)
                          ? Icon(
                              isExpanded
                                  ? Icons.keyboard_arrow_up
                                  : Icons.keyboard_arrow_down,
                              color: FFB1B1BD,
                              size: 25,
                            )
                          : Container(
                              width: 0,
                              height: 0,
                            ),
                    )
                  ],
                ),
              ),
            ),
          ))
    ]);
  }
}

是的,这是一个很好的解决方案,现在,我尝试删除箭头,并把一些点扩展到一个对话框全文
 DescriptionTextWidget(
        text:
            "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.",
      )