安卓支持SVG吗?有示例吗?
要在平台的2.x版本中添加对SVG的支持,有两个基本选择:
如果你只是想让SVG在个人使用或有限(可控制的)用户集上工作,第一种选择还好。但如果你想在面向大量、不受控制的用户群体时使用SVG,则这不是一个很好的选择。
在后一种情况下,你需要使用polyfill。今天有许多JavaScript库可以解析SVG并呈现到canvas上。以下是其中的两个示例:
使用polyfill,你可以在所有Android 2.x版本上将SVG渲染到canvas上。
关于这种方法的更全面的示例,你可以参考这篇博客文章,讨论了使用canvg polyfill在Android 2.x上使Kendo UI DataViz图表(基于SVG)工作的方法。希望有所帮助!
现在有一个新的开源库支持加载和绘制SVG基础1.1文件:https://github.com/pents90/svg-android。由于实际绘图是由android.graphics.Picture对象本地处理,因此性能很好。
Android支持矢量图形:https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html
同时存在一个 Android SVG 到 VectorDrawable 转换器:http://inloop.github.io/svg2android/
现在有一个正在积极开发中的新库androidsvg,它允许将SVG图像直接合并到项目中。它的优点是定义了SVGImageView
,可以直接将SVG合并到布局XML中。
最后,在Android中包含SVG非常简单。
更多详细信息请参见:Stack Overflow帖子