2015-02-05 27 views
13

Esistono applicazioni di disegno vettoriale che generano codice nativo per iOS e Android? Mi piacerebbe uno strumento per creare controlli e pulsanti dell'interfaccia utente sia per iOS che per Android (in Xamarin). Posso creare grandi oggetti dinamici con PaintCode per iOS, ma poi per la versione Android dovrei ricrearlo con qualche altro strumento per Android, quindi fondamentalmente sto facendo tutto due volte. Mi piacerebbe trovare un modo per creare alcuni controlli/pulsanti dinamici che possono essere utilizzati sia in Xamarin iOS & Xamarin Android.Ricerca di un "PaintCode" per Android

+2

Sto lavorando su un convertitore per PaintCode su Android. Questo sarebbe d'aiuto? In questo momento sto solo sviluppando per la mia azienda, ma accetterei beta tester :) – marsbear

+0

paintcodeapp.com ora copre completamente Android – Fattie

+0

@JoeBlow È emozionante! Non vedo l'ora di usarlo in futuro. Speriamo prima o poi. – LampShade

risposta

5

La nuova versione di PaintCode (versione 3, a novembre 2016) ora esporta il codice compatibile Android.

+0

Sono eccitato! Grazie per aver condiviso le notizie. – LampShade

+0

Se si desidera utilizzarlo in progetti .NET (incluso Xamarin), è possibile utilizzare il mio transpiler che converte l'esportazione PaintCode in codice SkiaSharp multipiattaforma: https://github.com/michaldobrodenka/PaintCode2Skia –

3

Un approccio comune da parte di molte organizzazioni (inclusa la mia) per gestire il design multipiattaforma consiste nell'utilizzare i caratteri icona.

Il modo in cui funziona è

  • creare una versione in formato SVG dell'icona/disegno
  • creare un carattere personalizzato con l'icona svg/vettore come un carattere Unicode

Il vantaggio:

  • Funziona con molte piattaforme, tra cui Android, iOS, Windows Phone e Web.
  • icone sono vettoriali, quindi scalabile

svantaggi:

  • icone non possono avere gradienti
  • icone non possono avere più colori (può essere risolto componendo icona in più componenti SVG e stratificazione nel codice)
+0

Stiamo pianificando di passare agli SVG per i nostri asset in futuro. È certamente il modo di procedere se il design dell'applicazione lo supporta. – LampShade

2

Ho un piccolo progetto che potrebbe risolvere i vostri problemi:

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

Si tratta di uno strumento che converte i file SVG in istruzioni di disegno Android e lo salva come file sorgente Java. Quindi puoi semplicemente chiamare un metodo da questa fonte con un parametro Canvas e il contenuto SVG verrà disegnato direttamente sulla tela.

È molto più veloce dell'utilizzo di un file SVG come input in fase di esecuzione, poiché non è necessario analizzare il file SVG (che è un XML internamente). Mangia anche molto meno memoria.

Ci sono alcune limitazioni e svantaggi, tuttavia, quindi potrebbe o potrebbe non essere adatto alle vostre esigenze. Soprattutto le interazioni non possono essere mappate nell'output (ancora).