我想知道如何在Android中使用Shape
类绘制矢量图可能类似于另一个矢量绘图标准。SVG到Android形状
由于Shape
是Drawable
,Drawable通常定义为XML,这听起来很像SVG中的矢量绘图命令。
我的问题是:有人创建了一个XSLT转换或其他机制,用于将SVG绘图描述转换为Android Shapes?
我想知道如何在Android中使用Shape
类绘制矢量图可能类似于另一个矢量绘图标准。SVG到Android形状
由于Shape
是Drawable
,Drawable通常定义为XML,这听起来很像SVG中的矢量绘图命令。
我的问题是:有人创建了一个XSLT转换或其他机制,用于将SVG绘图描述转换为Android Shapes?
,我能找到最接近的是svg4mobile。
尽管我不相信它会对Drawables XML进行转换,但它确实会读取svg并对Drawable类进行相应的调用。
嗯,不完全一样。但我确实已经将libsvg移植到了android,这使您可以加载SVG文件并将它们绘制到Canvas。
请查看:
网站上说你必须使用bazaar下载,够简单! – 2010-06-23 12:31:32
如果只是它不是GPL!只适用于免费软件,只是让你知道 – 2012-01-27 20:38:27
@AntonP只是尝试了一下你的库,里面有一个用inkscape创建的图像,大约300kb。这不能渲染:内存不足错误:)) – 2013-10-06 14:58:58
除了上面提到的2个GPL库之外,还有一个名为TinyLine的商业库实现了SVG Tiny子集,尽管如果你想创建一个非GPL的应用程序,它可能是一个更好的许可选择。
目前包括我在内的一些人独立工作。
您可能会发现这些文章的工作方案:
Android. ImageView with SVG Support.
Android ImageView and Drawable with SVG support
尝试都不能编译它的ndk部分,它会halpfully,如果你想更新项目设置 – 2013-10-06 15:01:55
另一个非GPL的库(这个人是Apache许可证2.0),在谷歌的Androidify应用程式所使用的:SVG -Android
伟大AndEngine具有装载SVG的延伸,它与任何resolut光栅到纹理离子,具有颜色替换和其他伟大的功能。真的有用。例如,您可以尝试引擎作者a free game。
注意:该引擎最适合全屏2D游戏,并基于OpenGL 2视图。 LGPL
“伟大的AndEngine ......”更好地说“伟大越野车AndEngine ...“ – 2013-10-07 19:09:03
我也在寻找像这样的东西,我很困惑为什么这不是实现喷气。正如你所提到的,绘图命令的简单转换就足够了(至少对于SVG的一个子集)。我甚至有时为非常简单的形状手动完成这项工作(定义像这样的渐变的按钮背景非常棒),而且我对SVG的细节或多或少一无所知。 – PSIXO 2014-02-27 14:07:10
伟大的问题,错误的电话关闭它。我认为从SVG到Shape的转换器是一个绝妙的想法。我可能会写一个,但我讨厌XSLT,所以我可能会用C#来做,或者我猜它应该是Java。 – 2014-06-10 06:35:13
我会建议你使用VectorDrawable。我找到的最佳解决方案是将VectorVectorDrawable与SVG一起使用到VectorDrawable转换器。 ** BetterVectorDrawable **是Android 4.0+的VectorDrawable实现,在Android 5.0+上具有可配置的回退行为。 ** SVG到VectorDrawable转换器**是SVG图像到Android VectorDrawable XML资源文件的批量转换器。在线版本:http://a-student.github。io/SvgToVectorDrawableConverter.Web/ – 2015-09-10 11:42:30