79 votes

Support SVG sur Android

Est-ce que Android prend en charge SVG? avez-vous un exemple?

56voto

Todd Points 3522

La réponse la plus complète est la suivante :

  • Le navigateur par défaut d'Android 2.x ne prend pas en charge nativement SVG.
  • Les navigateurs par défaut d'Android 3+ prennent en charge SVG.

Pour ajouter le support SVG aux versions 2.x de la plateforme, vous avez deux choix de base :

  1. Installez un navigateur plus performant (comme Firefox ou Opera Mobile - tous deux prennent en charge SVG)
  2. Utilisez un polyfill JavaScript qui peut analyser SVG et le rendre sur un canvas HTML5

La première option est ok si vous essayez simplement de faire fonctionner SVG pour un usage personnel ou pour un ensemble limité (contrôlable) d'utilisateurs. Ce n'est pas une bonne option si vous voulez utiliser SVG tout en ciblant une base d'utilisateurs large et non contrôlée.

Dans le dernier cas, vous voulez utiliser un polyfill. Il existe de nombreuses bibliothèques JavaScript disponibles aujourd'hui qui peuvent analyser SVG et le rendre sur un canvas. Deux exemples sont :

En utilisant un polyfill, vous pouvez rendre votre SVG sur un canavs sur toutes les versions d'Android 2.x.

Pour un exemple plus complet de cette approche, vous pouvez consulter cet article de blog qui discute de l'utilisation du polyfill canvg pour faire fonctionner les graphiques Kendo UI DataViz (basés sur SVG) sur Android 2.x. J'espère que cela vous aidera !

22voto

pents90 Points 1218

Il existe une nouvelle bibliothèque open-source qui prend en charge le chargement et le dessin de fichiers SVG Basic 1.1 : https://github.com/pents90/svg-android. Les performances sont bonnes car le dessin réel est géré nativement par un objet android.graphics.Picture.

8voto

Pavel Chernov Points 615

Actuellement, certaines personnes, y compris moi, travaillent indépendamment dessus.
Vous pouvez trouver une solution de travail dans ces articles :
  Android. ImageView avec prise en charge SVG.
  Android ImageView et Drawable avec prise en charge SVG

8voto

Abid H. Mujtaba Points 436

Il existe une nouvelle bibliothèque (en développement actif) androidsvg qui permet d'incorporer des images svg directement dans les projets. Elle présente l'avantage de définir un SVGImageView qui permet d'incorporer un svg directement dans le fichier XML de mise en page.

Enfin, l'inclusion de svg dans Android est simple.

Plus de détails : post de Stack Overflow

7voto

CommonsWare Points 402670

Pas pour le moment. D'autres navigateurs (par exemple, Firefox Mobile) pourraient le faire, et la prise en charge de SVG est censée être ajoutée dans une prochaine version d'Android.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X