You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何复制文本到剪贴板且保留字体样式

解决Flutter复制富文本带样式到剪贴板的问题

默认的Clipboard.setData只传text参数只能复制纯文本,要保留样式得同时传入HTML格式的内容——多数支持富文本的应用(如Word、浏览器)都会识别剪贴板里的HTML数据来还原样式。

实现步骤:

  • 先把你的富文本内容转换成HTML格式字符串,比如包含<b>、<i>、<span style="color:red">这类样式标签的内容。
  • 使用Flutter 3.10及以上版本的ClipboardData,它新增了html参数,可以同时传入纯文本和HTML格式的富文本内容。

示例代码:

IconButton(
  onPressed: () {
    // 备用的纯文本内容
    final plainText = "这是带样式的文本";
    // 对应带样式的HTML内容
    final htmlText = "<span style='color:blue; font-weight:bold'>这是带样式的文本</span>";
    Clipboard.setData(ClipboardData(
      text: plainText,
      html: htmlText,
    ));
  },
  icon: const Icon(Icons.copy),
)

低版本兼容方案:

如果你的Flutter版本低于3.10,官方ClipboardData不支持html参数,可以用第三方包(比如flutter_clipboard),在pubspec.yaml里添加依赖后,调用其API来设置富文本剪贴板内容。

内容的提问来源于stack exchange,提问作者Dipta Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:09:20