首页 > 解决方案 > SVG 图像未显示在简单的 android cordova 表中

问题描述

在一个相当简单的表中,我正在根据一些 json 反馈动态填充行。问题是当我使用 png 文件时似乎没有任何问题,但是当我使用 svg 图像时,它们似乎是透明的。当我在浏览器中打开这些图像时,它们就很好了。需要明确的是,这是一个在带有 cordova 9 的 S8 版本上运行的 android 应用程序

我在网上寻找解决方案(stackoverflow,cordova),但似乎没有任何结论。尝试了给出的示例/答案,但没有得到解决方案。控制台检查器 (chrome) 未报告任何丢失的文件或脚本错误

html/javascript调用函数

var imgNode = document.getElementById('fractieimg');
if (imgNode != null) {
imgNode.setAttribute("src", "img/" + getStroomImage(fractie.stromen));
        }

结果 HTML

<li class="fractierow" id="frow" onclick="selectFractie('REST');">
     <div class="fractieimg">
     <img width="35" id="fractieimg" src="img/svg/cal_rest.svg"></div>
     <div class="fractienaam" id="fractienaam">REST</div>
     <img class="fractienext" id="next" width="13" src="img/icon_next_groen.png"></li>

javascript

function getStroomImage(stroom) {
if (stroom == "REST") return "svg/cal_rest.svg";    }

我希望图像 cal_rest.svg 出现在该行的起始行。但只有文本“REST”出现,icon_next_groen.png 出现

标签: androidcordovasvg

解决方案


Android 不支持 SVG 尝试将其转换为 XML 资产。

你可以尝试在这里转换它Asset studio k-end

或使用 Android Studio 内置工具。

另一种选择是在后端进行对话并返回 .png


推荐阅读