【发布时间】:2020-12-06 10:13:21
【问题描述】:
我有一个颤振博客应用程序,我正在使用这个 package 来呈现博客 HTML 内容,我希望这个内容是可选的,我知道 SelectableText() 小部件,但这不能用于呈现 HTML .
有人知道如何让我的 HTML 文本可以从移动设备中选择吗?
【问题讨论】:
我有一个颤振博客应用程序,我正在使用这个 package 来呈现博客 HTML 内容,我希望这个内容是可选的,我知道 SelectableText() 小部件,但这不能用于呈现 HTML .
有人知道如何让我的 HTML 文本可以从移动设备中选择吗?
【问题讨论】:
编辑 - 现在无需任何变通方法即可。使用 K.Amanov 的答案。
我使用flutter_markdown 和html2md 包实现了这一点。不是一个理想的解决方案,因为 markdown 不支持所有的 html 标签。
import 'package:html2md/html2md.dart' as html2md;
import 'package:flutter_markdown/flutter_markdown.dart';
...
...
MarkdownBody(
selectable: true,
data: html2md.convert(
'Your HTML Text here',
),
),
【讨论】:
几个小时前,flutter_html 合并到解决了这个问题的主提交。不对,您可以像这样将插件导入您的项目:
flutter_html:
git:
url: git://github.com/Sub6Resources/flutter_html.git
ref: master
也许在您阅读这篇文章的时候,最后的更改将发布到 pub.dev
然后,使用 SelectableHtml 代替 Html:
SelectableHtml(
data: menuButton.content ?? "",
style: {
"body": Style(
margin: EdgeInsets.zero,
color: Theme.of(context).primaryColor,
),
},
onLinkTap: (link, renderContext, map, element) async {
if (link != null && link.isNotEmpty) {
await launch(link);
}
},
)
【讨论】:
customRender 和onImageTap,有点让它对富html 没用。
图书馆flutter_html:
在代码中:
SelectableHtml(
data: 'Your text with html tag',
);
【讨论】: