web-dev-qa-db-fra.com

Comment créer Android VectorDrawables depuis Illustrator (ou un outil similaire)?

Si j'ai une image vectorielle dans un programme comme Illustrator, comment puis-je me retrouver avec le format correct pour le cadre VectorDrawable d'Android à utiliser?

J'ai trouvé un outil pour convertir SVG au format xml VectorDrawable: http://inloop.github.io/svg2Android/ mais il nécessite que les SVG utilisent uniquement "path".

Des idées pour sortir des fichiers comme ça?

36
cottonBallPaws

Cet outil ne semble actuellement prendre en charge que <path> éléments. Ainsi, par exemple, il ne prend pas en charge <rect>, <circle> etc.

Si vous utilisez des primitives comme celle-ci dans votre dessin, vous devez les convertir. J'oublie l'option exacte que vous devez utiliser, mais c'est probablement quelque chose comme "Convertir en chemin".

Ce lien peut vous aider.

https://graphicdesign.stackexchange.com/questions/15475/convert-primitive-to-path-using-svg-format-in-illustrator

15
Paul LeBeau

Si vous utilisez Android Studio, la meilleure méthode est:

  • Cliquez avec le bouton droit sur votre dossier "dessinable"> Nouveau> Élément vectoriel
  • Cliquez sur "Fichier SVG local" pour importer votre propre fichier SVG ou sur "Icône de matériau" pour utiliser les icônes fournies.
  • Remplacez le nom de la ressource par tout ce dont vous avez besoin.
  • Cliquez sur Suivant et choisissez vos modules cibles et votre répertoire res.
  • Cliquez sur Terminer.

L'assistant produit du XML à partir de vos fichiers SVG.

44
Q.Jones

Utilisez simplement SVG vers VectorDrawable Converter ou son version en ligne . Il s'agit d'un convertisseur par lots d'images SVG vers des fichiers de ressources Android VectorDrawable XML.

Liens vers le fichier Lisez-moi, qui fournissent suffisamment d'informations sur la façon d'utiliser le convertisseur.

13
A-student

Tout convertir en chemins

Avant d'enregistrer votre fichier de projet AI en tant que SVG, assurez-vous de:

  1. Convertissez tous les chemins en contours, à l'aide de Object > Expand....

  2. Convertissez tous les chemins de forme (tels que <circle>) à Compound Paths en cliquant avec le bouton droit de la souris pendant que le ou les objets sont sélectionnés et en choisissant Make Compound Path.

Une fois cela fait, chaque forme dans le SVG devrait être un <path>.


Optimiser le SVG

Lorsque j'ai essayé de convertir un SVG de complexité moyenne en un vecteur dessinable à l'aide de l'application mentionnée dans la question, j'ai eu des problèmes pour oublier certaines parties. J'ai pensé que cela devait avoir quelque chose à voir avec la façon dont il était formaté, j'ai donc décidé d'utiliser SVGOMG , une application d'optimisation SVG, pour la dépouiller essentiel.

Utilisez SVGOMG ou une autre application pour optimiser le SVG, puis téléchargez le fichier.


Convertissez le SVG optimisé en un dessin vectoriel

Prenez le SVG téléchargé et déposez-le dans SVG2Android et il vous donnera ce que vous recherchez.

12
Dom