2015-02-05 17 views
13

Czy istnieją aplikacje do rysowania wektorowego, które generują natywny kod dla systemów iOS i Android? Chciałbym narzędzie do tworzenia kontrolek i przycisków interfejsu użytkownika zarówno dla systemów iOS, jak i Android (w wersji Xamarin). Mogę tworzyć wspaniałe obiekty dynamiczne z PaintCode dla systemu iOS, ale potem dla wersji Android musiałbym odtworzyć je z innym narzędziem dla Androida, więc zasadniczo robię wszystko dwa razy. Chciałbym znaleźć sposób na utworzenie dynamicznych kontrolek/przycisków, które mogą być używane zarówno w Xamarin iOS & Xamarin Android.Wyszukiwanie "kodu PaintCode" dla Androida

+2

Pracuję nad konwerterem dla programu PaintCode na Androida. Czy to pomoże? W tej chwili rozwijam go tylko dla mojej firmy, ale akceptuję testy beta :) – marsbear

+0

paintcodeapp.com teraz całkowicie obejmuje Androida – Fattie

+0

@JoeBlow To ekscytujące! Nie mogę się doczekać, aby go użyć w przyszłości. Mam nadzieję, że raczej wcześniej niż później. – LampShade

Odpowiedz

5

Nowa wersja programu PaintCode (wersja 3, od listopada 2016 r.) Eksportuje obecnie kod zgodny z systemem Android.

+0

Jestem podekscytowany! Dzięki za podzielenie się wiadomościami. – LampShade

+0

Jeśli chcesz go używać w projektach .NET (w tym Xamarin), możesz użyć mojego transpilera, który konwertuje eksport PaintCode do wieloplatformowego kodu SkiaSharp: https://github.com/michaldobrodenka/PaintCode2Skia –

3

Jednym z powszechnych podejść wielu organizacji (w tym mojej) do projektowania wieloplatformowego jest używanie czcionek ikon.

Jak to działa jest

  • stworzyć wersję SVG swojej ikony/projekt
  • utworzyć niestandardową czcionkę z ikoną SVG/wektor jako znak Unicode

Zaleta:

  • Działa z wieloma platformami, w tym z Androidem, ios, Windows Phone oraz z siecią.
  • ikony wektor, stąd skalowalne

wady:

  • ikony nie może mieć gradienty
  • ikony nie może mieć kilka kolorów (może być rozwiązany poprzez komponowanie ikonę na wiele elementów SVG i ich nakładania w kodzie)
+0

Planujemy przenieść do SVG nasze aktywa w przyszłości. Z pewnością jest to sposób, w jaki projekt aplikacji go obsługuje. – LampShade

2

Mam mały projekt, który może rozwiązać twoje problemy:

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

Jest to narzędzie, które konwertuje pliki SVG do Androida instrukcje rysowania i zapisuje go jako plik źródłowy Java. Następnie możesz po prostu wywołać metodę z tego źródła za pomocą parametru Canvas, a zawartość SVG zostanie narysowana bezpośrednio na kanwie Canvas.

Jest znacznie większa niż użycie pliku SVG jako danych wejściowych w środowisku wykonawczym, ponieważ nie musi analizować pliku SVG (który jest wewnętrznie XML). Zużywa też znacznie mniej pamięci.

Istnieje jednak kilka ograniczeń i wad, które mogą lub nie będą odpowiednie do twoich potrzeb. Zwłaszcza interakcje nie mogą być odwzorowane na wyjściu (jeszcze).