Genexus 17 U4安卓端调用返回SVG图片的API无法加载问题咨询
Genexus v17 U4 Android端SVG加载异常解决方案
Genexus 17 U4版本的Android生成器默认未内置SVG格式图片的解析支持,仅默认兼容PNG、JPG等位图格式,可按以下步骤修复问题:
1. 添加SVG解析依赖
- 打开Genexus项目的
Android > Libraries配置节点 - 手动添加第三方SVG解析库依赖:
com.caverock:androidsvg-aar:1.4 - 重新生成Android工程,确认依赖被正确引入
2. 替换默认图片加载逻辑
- 新建自定义
User Procedure,命名为CustomLoadRemoteImage,入参为图片API地址、目标Image控件实例 - 逻辑内部新增格式判断分支:如果请求返回的资源格式为SVG,调用引入的AndroidSVG库将数据流解析为Drawable对象,再赋值给目标Image控件;其他格式沿用原有加载逻辑即可
- 所有需要调用SVG接口的场景,替换默认的图片赋值逻辑为该自定义过程
3. 适配特殊场景
- 如需固定SVG显示尺寸,解析时额外调用
setDocumentWidth()、setDocumentHeight()方法指定渲染尺寸,避免适配错乱 - 若API返回的SVG包含自定义属性标签,需在解析逻辑中添加容错过滤规则,避免解析崩溃
提示:Genexus v18及更高版本已官方内置Android端SVG加载支持,后续升级版本后可直接移除自定义扩展,使用官方实现即可。
内容的提问来源于stack exchange,提问作者Alvaro Garracini
相关产品推荐
相关产品推荐

