2015-02-05 59 views
13

是否有任何矢量绘图应用程序为iOS和Android生成本机代码?我想要一个用于为iOS和Android制作UI控件和按钮的工具(位于Xamarin)。我可以在iOS上为PaintCode制作很好的动态对象,但对于Android版本,我不得不使用Android的其他工具重新创建它,所以我基本上都会做所有事情的两次。我很想找到一种方法来创建一些可以在Xamarin iOS & Xamarin Android中使用的动态控件/按钮。寻找android的“PaintCode”

+2

我正在为PaintCode转换为Android。这会有帮助吗?现在我只为我的公司开发它,但我会接受beta测试者:) – marsbear 2015-09-28 21:17:40

+0

paintcodeapp.com现在完全覆盖Android – Fattie 2016-12-13 13:26:46

+0

@JoeBlow这很令人兴奋!我期待将来使用它。希望早日而不迟。 – LampShade 2016-12-13 22:19:31

回答

5

新版本的PaintCode(版本3,截至2016年11月)现在导出Android兼容的代码。

+0

我很兴奋!感谢分享这个消息。 – LampShade 2016-11-08 14:20:42

+0

如果您想在.NET项目(包括Xamarin)中使用它,您可以使用我的转换器将PaintCode导出转换为多平台SkiaSharp代码:https://github.com/michaldobrodenka/PaintCode2Skia – 2017-11-13 18:34:45

3

许多组织(包括我的)处理跨平台设计的一个常见方法是使用图标字体。

它的工作方式是

  • 创建图标的SVG版本/设计
  • 创建与SVG /矢量图标自定义字体为Unicode字符

优势:

  • 它适用于很多平台,包括android,ios,windows手机以及网络。
  • 图标是矢量,因此可扩展

缺点:

  • 图标不能有梯度
  • 图标不能有多个颜色(可以通过合成图标成多个SVG组件和分层它们可以解决代码)
+0

我们计划在将来转移到SVG以获取我们的资产。如果应用程序的设计支持它,它肯定是一条路。 – LampShade 2015-09-28 21:46:18

2

我有一个小项目,可能会解决您的问题:

https://github.com/almosr/android-svg-code-render

它是一种将SVG文件转换为Android绘图指令并将其另存为Java源文件的工具。然后,您可以使用Canvas参数简单调用此源中的方法,并将SVG内容直接绘制到Canvas。

它比在运行时使用SVG文件作为输入要快得多,因为它不需要解析SVG文件(内部是XML)。内存消耗也少得多。

虽然有一些限制和缺点,所以它可能会或可能不适合您的需求。尤其是交互不能映射到输出(还)。