用途:我想用ImageView来显示一个SVG图像文件。
尝试1:
结果1:
我正在三星星系I93000 (国际版)上进行测试 我只得到了一个白色的屏幕。 没有编译或运行时错误。
Logcat输出如下:
01:22:11.755: D/dalvikvm(24889):GC_FOR_ALLOC释放52K,7%空闲12198 K/12995K,暂停17 1K,总计17ms01-13 01:22:11.765: i/dalvikvm-堆(24889):4642816字节分配01-1301:22:11.810: D/dalvikvm(24889):GC_CONCURRENT释放1K,5%免费16730K/17543K,暂停15ms+2ms,总计43 to 01-13 01:22:12.080: D/dalvikvm(24889):释放GC_FOR_ALLOC <1K,5%空闲16731K/17543K,暂停13 to,总计13ms 01-1301:22:12.100:i/dalvikvm-堆(24889):5168972字节分配01-1301:22:12.125: D/dalvikvm(24889):GC_CONCURRENT释放21779K/22599K,暂停12ms+2ms,总计25 22 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):设备驱动程序匹配01- API13 01:22:12.605: D/(24889):设备驱动程序API版本: 10 01-13 01:22:12.605: D/(24889):用户空间API版本: 10 01-13 01:22:12.605: d(24889):马里:修订=Linux-r2p4-02rel0 BUILD_DATE=Tue 10月16日15:37:13 KST 2012 01-13 01:22:12.670: D/OpenGLRenderer(24889):启用调试模式0
更新1:
我尝试过将SVG图形显示为清单中的主要活动的活动。结果没有变化。
更新2:
尝试另一个库/方法来做到这一点- 支持SVG的ImageView。会把结果发回来。
更新3:
你要知道,我已经看过基于Android的SVG支持了。那里的答案并没有真正提供一个本地的解决方案。解决方法之一是创建静态html页面,每个svg对应一个页面,引用SVG库。这一点似乎根本无法维护。当人们看到遗留代码时,我会诅咒他们。
正如你可能已经猜到的,上面的试验结果不是很好。
发布于 2013-06-10 17:00:05
您可能已经找到了解决方案,但为了将来的参考:
我正在三星星系I93000 (国际版)上进行测试 我只得到了一个白色的屏幕。 没有编译或运行时错误。
您可能需要禁用正在使用的ImageView的硬件加速:
imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);我对svg的分叉也有同样的问题,这完全是因为硬件加速。
发布于 2013-01-13 01:19:40
好吧,经过一个彻彻底底的不眠之夜,这就是我所拥有的。:)
希望1:
*TPSVG* (,这是我所用的,也就是我的认可邮票 ;)
试过这个被祝福的人的图书馆。很有魅力。他从view扩展了他的自定义视图,这样您就有了布局的大部分基本参数。它只有一个贡献者。我有点不喜欢把它用在生产上,至少从长期来看是这样。但对他的工作和许多感谢,因为它满足了我的迫切需要。
这个词的用法非常直接,不管我怎么粗略地描述它。
问题:--我还没有弄清楚如何在运行时在这个视图上切换绘图(SVG)。如果有人知道这一点,请张贴程序。
希望2:
http://www.vectoroid.com/
这个看起来很有希望。除了图书馆,他们还有一些基于矢量的应用程序。我不太清楚如何使用它来加载SVG绘图(似乎还不支持这种方式)。但是,等等!这里在他们的博客上说,他们已经实现了"SVG“,并将很快发布。耶!
https://stackoverflow.com/questions/14297372
复制相似问题