android - 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 出现
解决方案
Android 不支持 SVG 尝试将其转换为 XML 资产。
你可以尝试在这里转换它Asset studio k-end
或使用 Android Studio 内置工具。
另一种选择是在后端进行对话并返回 .png
推荐阅读
- visual-studio - 安装时读取目标程序集中的nuget包库版本
- reactjs - react-gluejar blob 图像上传到静态服务器
- javascript - setTimeout 的延迟参数可以完全受到亚毫秒输入的影响吗?
- java - 使用 Java 驱动程序返回 null 的 MongoDB 嵌套查询
- reactjs - 我如何使用 gapi 登录并在反应中获取用户信息?
- xaml - 如何更改特定位置点击的列表值?
- android - gradle中不同的依赖实现依赖于不同的android版本
- javascript - Chrome DevTools 无法从 React Production Build 访问变量
- swift - 按下按钮时如何使用键盘激活文本字段
- react-native - 多个提示 AzureAD promptAuthAsync() Expo