【发布时间】:2023-03-14 18:39:01
【问题描述】:
目的: 我想最好使用 ImageView 来显示 SVG 图像文件。
尝试 1:
我正在使用 svg-android 库来执行此操作。
-
我正在逐字关注他们的tutorial。我只是将他们的代码复制粘贴到我的 onCreate 中,从 onCreate 中注释掉我的应用程序代码。
在此之前我有一个启动画面,但我怀疑那会 无论如何都要干涉这个。无论如何,我只会改变 启动意图并发布更新。
我已将他们的 jar 添加到 libs 文件夹并引用它。
结果 1:
我在三星galaxy I93000(国际版)上测试
我得到的只是一个白屏。
没有编译或运行时错误。
Logcat输出如下:
01-13 01:22:11.755: D/dalvikvm(24889): GC_FOR_ALLOC freed 52K, 7% free 12198K/12995K, paused 17ms, total 17ms 01-13 01:22:11.765: I/dalvikvm-heap(24889): Grow heap (frag case) to 17.000MB for 4642816-byte allocation 01-13 01:22:11.810: D/dalvikvm(24889): GC_CONCURRENT freed 1K, 5% free 16730K/17543K, paused 15ms+2ms, total 43ms 01-13 01:22:12.080: D/dalvikvm(24889): GC_FOR_ALLOC freed <1K, 5% free 16731K/17543K, paused 13ms, total 13ms 01-13 01:22:12.100: I/dalvikvm-heap(24889): Grow heap (frag case) to 21.928MB for 5168972-byte allocation 01-13 01:22:12.125: D/dalvikvm(24889): GC_CONCURRENT freed <1K, 4% free 21779K/22599K, paused 12ms+2ms, total 25ms 01-13 01:22:12.560: D/libEGL(24889): loaded /system/lib/egl/libEGL_mali.so 01-13 01:22:12.595: D/libEGL(24889): loaded /system/lib/egl/libGLESv1_CM_mali.so 01-13 01:22:12.600: D/libEGL(24889): loaded /system/lib/egl/libGLESv2_mali.so 01-13 01:22:12.605: D/(24889): Device driver API match 01-13 01:22:12.605: D/(24889): Device driver API version: 10 01-13 01:22:12.605: D/(24889): User space API version: 10 01-13 01:22:12.605: D/(24889): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012 01-13 01:22:12.670: D/OpenGLRenderer(24889): Enabling debug mode 0
更新 1:
我尝试将显示 SVG 图形的活动作为清单中的主要活动。结果没有变化。
更新 2:
尝试另一个库/方法来做到这一点 - ImageView with SVG Support。将返回结果。
更新 3:
您知道,我已经看过SVG support on Android。那里的答案并没有真正提供本机解决方案。一种解决方法是创建静态 html 页面,每个 svg 一个,引用 SVG js 库。这似乎根本无法维护。我会是人们看到遗留代码时诅咒的那个人。
正如您可能已经猜到的那样,上述试验的效果并不好。
【问题讨论】:
-
您使用的是教程中的 svg 文件还是您自己的自定义 svg?
-
教程中的 svg 文件
-
天啊!第二种方式的前提简直就是杀气腾腾!只是为了显示 SVG 付出了这么多努力?人们应该有更好的选择,不应该在那里吗?
-
@Dheeraj Bhaskar,有什么更新吗?我正在尝试使用 svg-android lib,但没有成功
-
我已经有一段时间没有使用这个库了@cooervo 我现在不太可能提供帮助。
标签: android svg imageview svg-android