使用svg-android时,我只得到空白的白色屏幕

Dhe*_*kar 9 svg android imageview svg-android

目的: 我想使用ImageView显示SVG图像文件.

尝试1:

  • 我正在使用svg-android库来做到这一点.

  • 我正在逐字逐句地跟进他们的教程.我只是将他们的代码粘贴到我的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
Run Code Online (Sandbox Code Playgroud)

更新1:

我已经尝试将显示SVG图形的活动作为清单中的主要活动.结果没有变化.

更新2:

尝试使用其他库/方式执行此操作 - 具有SVG支持的ImageView.将回复结果.

更新3:

您知道,我已经看过Android上的SVG支持了.那里的答案并没有真正提供原生解决方案.一种解决方法是创建静态html页面,每个svg一个,引用SVG js库.这似乎根本不可维护.我会是那些人在查看遗留代码时会诅咒的人.

正如您可能已经猜到的那样,上述试验并未奏效.

小智 18

您可能已经找到了解决方案,但供将来参考:

我正在测试三星Galaxy I93000(国际版)

我得到的只是一个白色的屏幕.

没有编译或运行时错误.

您可能需要为正在使用的ImageView禁用硬件加速:

imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Run Code Online (Sandbox Code Playgroud)

我有一个svg-android的分支完全相同的问题,这完全是由于硬件加速.