【问题标题】:I can't use svg on flutter web how can i do it?我不能在颤振网络上使用 svg 我该怎么做?
【发布时间】:2020-05-31 10:12:36
【问题描述】:

嗨,我似乎无法让 svg 图像显示在颤振网络上 我在stackoverflow上看到了两个问题,上面的答案是绿色的勾 我们可以使用 Image.asset() 作为 svg 容器,但它不起作用

解决办法是什么

【问题讨论】:

标签: flutter


【解决方案1】:

在有 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,以及如果您想将其用于移动设备和网络,如何进行网络导入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    相关资源
    最近更新 更多