Frage SVG-Unterstützung für Android


Unterstützt Android SVG? irgendein Beispiel?


75
2017-10-08 11:07


Ursprung


Antworten:


Die vollständigste Antwort ist dies:

  • Der Standardbrowser von Android 2.x unterstützt nativ kein SVG.
  • Die Standardbrowser von Android 3+ unterstützen SVG.

Um SVG-Unterstützung zu 2.x-Versionen der Plattform hinzuzufügen, haben Sie zwei grundlegende Auswahlmöglichkeiten:

  1. Installieren Sie einen leistungsfähigeren Browser (wie Firefox oder Opera Mobile - beide unterstützen SVG)
  2. Verwenden Sie ein JavaScript-Polyfill, mit dem SVG analysiert und in ein HTML5-Zeichenfeld gerendert werden kann

Die erste Option ist in Ordnung, wenn Sie nur versuchen, SVG für private Zwecke oder eine begrenzte (steuerbare) Gruppe von Benutzern arbeiten zu lassen. Es ist keine großartige Option, wenn Sie SVG verwenden möchten, während Sie auf eine große, unkontrollierte Benutzergruppe abzielen.

Im letzteren Fall möchten Sie ein Polyfill verwenden. Es gibt heute viele JavaScript-Bibliotheken, die SVG schreiben und auf einer Leinwand rendern können. Zwei Beispiele sind:

Mit einem Polyfill können Sie Ihr SVG in allen Versionen von Android 2.x in Canavs rendern.

Für ein vollständigeres Beispiel dieses Ansatzes können Sie sich beziehen Dieser Blog-Beitrag beschreibt die Verwendung des Canvg-Polyfill um Kendo UI DataViz-Diagramme (SVG-basiert) auf Android 2.x zu erstellen. Ich hoffe, das hilft!


55
2018-02-17 18:11



Es gibt eine neue Open-Source-Bibliothek, die das Laden und Zeichnen von SVG Basic 1.1-Dateien unterstützt: https://github.com/pents90/svg-android. Die Leistung ist gut, da die tatsächliche Zeichnung von einem android.graphics.Picture-Objekt nativ verarbeitet wird.


22
2018-05-11 22:56



Derzeit arbeiten einige Leute, darunter ich, selbständig daran.
In diesen Artikeln finden Sie möglicherweise eine funktionierende Lösung:
Android. ImageView mit SVG-Unterstützung.
Android ImageView und Drawable mit SVG-Unterstützung


8
2017-12-14 10:45



Es gibt eine neue Bibliothek (in aktiver Entwicklung) androidsvg mit dem man SVG-Bilder direkt in Projekte einbinden kann. Es hat den Vorteil, ein SVGImageView Das erlaubt es, ein SVG direkt in das Layout-XML einzubauen.

Schließlich, einschließlich Svg in Android ist einfach.

Mehr Details: Stapelüberlauf Beitrag


8
2017-11-03 00:04



Android unterstützt Vektor-Zeichenvorlagen: https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html

Und es gibt ein Android SVG zu VectorDrawable Converter: http://inloop.github.io/svg2android/


8
2017-07-27 15:30



Ich habe mich kurz angeschaut https://code.google.com/p/androidsvg/. Bisher wurden alle SVG-Dateien angezeigt, die ich darauf geworfen habe. Sieht vielversprechend aus.


2
2017-07-11 06:46



Ich habe gerade ein Github-Repo und ein Beispiel-Repo für meine eigene TPSVG-Bibliothek veröffentlicht, die ich ursprünglich speziell für eine meiner Anwendungen erstellt habe.

https://github.com/TrevorPage/TPSVG_Android_SVG_Library

https://github.com/TrevorPage/TPSVG_Example1


1
2018-05-28 22:33



Ich weiß, dass meine Lösung etwas hardcore ist, aber es funktioniert gut, benötigt keine externen Bibliotheken (zumindest nicht in Ihrem endgültigen Code) und ist extrem schnell.

1) Nehmen Sie einfach eine vorhandene SVG-Lade-Bibliothek, wie zum Beispiel Svg-Android-2 (das ist eine Abzweigung von Svg-Android in einer anderen Antwort erwähnt, nur mit mehr Funktionen und Bugfixes): https://code.google.com/p/svg-android-2/

2) Schreiben Sie eine einfache App, die nur Ihr SVG-Bild lädt und anzeigt.

3) Ändern Sie die SVG-Ladebibliothek, so dass sie den Java-Code ausgibt, der die Picture-Klasse erstellt oder in einer String-Variablen speichert.

4) Kopieren Sie den auf diese Weise erhaltenen Java-Code in die App, die Sie gerade schreiben.

Weitere Informationen zu dieser Technik und zum Herunterladen des Beispielquellcodes finden Sie in meinem Blog: http://androiddreamrevised.blogspot.it/2014/06/transforming-svg-images-into-android.html

Sie können hier ein funktionierendes Beispiel für diese Technik von Google Play abrufen: https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.svgtodrawablesample

Hier ist ein Beispiel für eine kommerzielle App, die mit dieser Technik erstellt wurde (Mailänder U-Bahn-Karte): https://play.google.com/store/apps/details?id=pl.bartoszwesolowski.atmmetroplan

Beachten Sie, wie schnell die Karte geladen wird und wie hübsch sie aussieht, selbst wenn sie vergrößert ist.


1
2018-06-27 18:20



Feuerfuchs für Android unterstützt SVG.


0
2018-05-03 06:12



Opernmobile für Android unterstützt Svg und Opera Mini unterstützt statischen SVG-Inhalt.


0
2018-05-03 08:54