当Text
widget上的长标签时,工具提示显示“复制”。当点击“复制”时,文本内容应复制到系统剪贴板。
下面将复制文本长按,但不显示“复制”,所以用户不会知道,内容被复制到剪贴板。
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));
},
);
}
}
8条答案
按热度按时间xmq68pz91#
从Flutter 1.9开始,您可以使用
选择文本时,将出现“复制”上下文按钮。
jjhzyzn02#
您可以使用
SnackBar
通知用户有关拷贝的信息。下面是相关代码:
我当时正在做一件事,我做了下面的事情,所以我想重新考虑一下这个答案:
vdgimpew3#
SelectableText中也有属性列表,以启用选项复制、粘贴、全选、剪切
SelectableText
小工具gev0vcfq4#
如果希望文本具有不同的样式,请使用
dgiusagp5#
我在函数内部使用Clipboard.setData。
f5emj3cl6#
我创建了一个helper类CopiableText来完成我的工作。只需要从下面复制这个类并把它放到你的代码中。
帮助程序类
第一个月
以不同的方式使用它
piah890a7#
仅使用SelectableText
kiz8lqtg8#
支持链接和复制粘贴
如果要同时支持链接和复制粘贴,请使用SelectableLinkify小部件。
这个小部件是flutter_linkify包的一部分。