当在Text窗口小部件上长标签时,将显示带有“复制”的工具提示。单击“复制”时,文本内容应复制到系统剪贴板。
Text
以下内容将在长按时复制文本,但不会显示“复制”,因此用户将不知道其内容已复制到剪贴板。
class CopyableText extends StatelessWidget { final String data; final TextStyle style; final TextAlign textAlign; final TextDirection textDirection; final bool softWrap; final TextOverflow overflow; final double textScaleFactor; final int maxLines; CopyableText( this.data, { this.style, this.textAlign, this.textDirection, this.softWrap, this.overflow, this.textScaleFactor, this.maxLines, }); @override Widget build(BuildContext context) { return new GestureDetector( child: new Text(data, style: style, textAlign: textAlign, textDirection: textDirection, softWrap: softWrap, overflow: overflow, textScaleFactor: textScaleFactor, maxLines: maxLines), onLongPress: () { Clipboard.setData(new ClipboardData(text: data)); }, ); } }
从Flutter 1.9开始,您可以使用
SelectableText("Lorem ipsum...")
选择文本后,将显示“复制”上下文按钮。