Android是否支持SVG?有什么例子吗?
Android是否支持SVG?有什么例子吗?
Answers:
最完整的答案是这样的:
要将SVG支持添加到平台的2.x版本,您有两个基本选择:
如果您只是想让SVG用于个人用途或一组有限(可控制)的用户,则第一种选择是可以的。如果要在不受控制的庞大用户群中使用SVG,则不是一个很好的选择。
在后一种情况下,您想使用polyfill。当今有许多JavaScript库可以使用SVG并渲染到画布上。两个示例是:
使用polyfill,您可以在所有版本的Android 2.x上的canav中渲染SVG。
有关此方法的更完整示例,请参阅此博客文章,该文章讨论使用canvg polyfill使Kendo UI DataViz图表(基于SVG)在Android 2.x上工作。希望有帮助!
有一个新的开源库,它支持加载和绘制SVG Basic 1.1文件:https : //github.com/pents90/svg-android。由于实际的绘图是由android.graphics.Picture对象本地处理的,因此性能良好。
目前,包括我在内的一些人都在独立工作。
您可以在以下文章中找到有效的解决方案:
Android。具有SVG支持的ImageView。
带有SVG支持的Android ImageView和Drawable
(正在开发中)有一个新的androidsvg库,它允许将svg图像直接合并到项目中。它具有定义an的优点,该anSVGImageView
允许将svg直接合并到布局xml中。
最后,在android中包含svg很简单。
更多详细信息:堆栈溢出帖子
Android支持矢量可绘制对象:https : //developer.android.com/reference/android/graphics/drawable/VectorDrawable.html
并且存在一个Android SVG到VectorDrawable Converter:http ://inloop.github.io/svg2android/
我对https://code.google.com/p/androidsvg/进行了简要介绍。到目前为止,显示了我扔给它的所有svg文件。看起来很有希望。
我刚刚为自己的TPSVG库选择了一个Github存储库和示例存储库,我最初是为我的应用程序创建的。
我知道我的解决方案有些硬核,但效果很好,不需要任何外部库(至少不需要在最终代码中),而且速度非常快。
1)仅使用现有的SVG加载库,例如svg-android-2(这是另一个答案中提到的svg-android的分支,只是具有更多功能和错误修正):https : //code.google.com / p / svg-android-2 /
2)编写一个简单的应用程序,除了加载并显示SVG图像外,别无他法。
3)修改SVG加载库,以便它打印创建Picture类的Java代码或将其保存在String变量中。
4)将以此方式获得的Java代码复制粘贴到您正在编写的应用程序中。
要获取有关此技术的更多信息并下载示例源代码,请访问我的博客:http : //androiddreamrevised.blogspot.it/2014/06/transforming-svg-images-into-android.html
您可以从以下Google Play中获得此技术的有效示例:https: //play.google.com/store/apps/details?id = pl.bartoszwesolowski.svgtodrawablesample
这是使用此技术创建的商业应用程序的示例(米兰地铁地图):https : //play.google.com/store/apps/details?id=pl.bartoszwesolowski.atmmetroplan
请注意,即使放大后,地图加载的速度和外观也很漂亮。
适用于Android的Opera Mobile支持svg,而Opera Mini支持静态svg内容。