【发布时间】:2020-05-31 10:12:36
【问题描述】:
嗨,我似乎无法让 svg 图像显示在颤振网络上 我在stackoverflow上看到了两个问题,上面的答案是绿色的勾 我们可以使用 Image.asset() 作为 svg 容器,但它不起作用
解决办法是什么
【问题讨论】:
-
这能回答你的问题吗? Flutter SVG rendering
-
你好,它没有
标签: flutter
嗨,我似乎无法让 svg 图像显示在颤振网络上 我在stackoverflow上看到了两个问题,上面的答案是绿色的勾 我们可以使用 Image.asset() 作为 svg 容器,但它不起作用
解决办法是什么
【问题讨论】:
标签: flutter
在有 proper solution 之前,您可以使用 HtmlElementView 在 Flutter Web 上显示 svg。
HtmlElementView 可以这样使用:
HtmlElementView(
viewType: 'img-svg-${hashCode}',
)
您必须先注册您的 viewType 才能使用它:
platformViewRegistry.registerViewFactory('img-svg-${hashCode}',
(int viewId) {
final String base64 = base64Encode(utf8.encode(svgString));
final String base64String = 'data:image/svg+xml;base64,$base64';
final html.ImageElement element = html.ImageElement(
src: base64String, height: width.toInt(), width: width.toInt());
return element;
});
我创建了一个example project,展示了如何从资产加载 svg,以及如果您想将其用于移动设备和网络,如何进行网络导入。
【讨论】: