如何在html()小部件中选择html



我有一个flutter博客应用程序,我正在使用这个包来呈现博客HTML内容,我希望这个内容是可选的,我知道SelectableText()小部件,但它不能用于呈现HTML。

有人知道我如何从手机上选择HTML文本吗?

几个小时前,在flaft_html中,合并到master提交,解决了这个问题。对不对,你可以这样导入插件到你的项目:

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);
}
},
)

编辑-现在可以不用任何变通方法了。使用K.Amanov的答案。

我使用flatter_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',
),
),

只需将其包装在SelectionArea()中即可。

例如:

SelectionArea(
child: Html(
data: '<p>Some data</p>',
),
);

现在可以选择渲染的html内容。

其他答案建议的SelectableHtml()小部件存在缺陷,正如他们在pub.dev上的文档中所述,对我来说效果不佳

flutter_html:

代码中:

SelectableHtml(
data: 'Your text with html tag',
);

相关内容

  • 没有找到相关文章

最新更新