Est-ce que Android prend en charge SVG? avez-vous un exemple?
Réponses
Trop de publicités?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 :
- Installez un navigateur plus performant (comme Firefox ou Opera Mobile - tous deux prennent en charge SVG)
- 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 !
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.
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
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