web-dev-qa-db-fra.com

Inconsistance entre le fichier SVG et l'actif vectoriel Android Studio

J'utilise le logiciel Sketch pour créer des images svg à utiliser dans mon projet Android. J'ai un problème avec celui-ci:

 enter image description here

Comme vous pouvez le constater, l'image est correcte et j'ai vérifié les aperçus avec Chrome et l'aperçu Macos.

Lorsque j'essaie d'importer le fichier SVG dans Android Studio, l'aperçu de l'importation est le suivant:

 enter image description here

Les cercles soustraits à l'intérieur des remplis ont disparu. Le journal d'importation me signale ceci:

In ic_percent.svg:
WARNING@ line 10 We don't scale the stroke width!
WARNING@ line 11 We don't scale the stroke width!
WARNING@ line 12 We don't scale the stroke width!
WARNING@ line 13 We don't scale the stroke width!

Est-ce que quelqu'un sait ce qui se passe avec mon import?

13
Felipe Jun

J'ai eu des problèmes similaires lors de l'importation d'un fichier .svg créé avec Inkscape. Il semble que certains attributs ne sont tout simplement pas pris en charge par l'importateur Android Studio. 

Le moyen le plus simple que j'ai trouvé est d'utiliser svg2Android . Vous ne savez pas comment cela fonctionne avec Sketch .svg, mais il semble que le problème soit résolu avec les fichiers d'Inkscape.

Si quelqu'un d'autre utilise Inkscape, n'oubliez pas de définir la taille de votre document sur la taille de votre vecteur "Fichier -> Propriétés du document ..." ou simplement de l'éditer directement dans le fichier à l'aide d'un éditeur de texte.

7
Richard Weber

Voici comment:

  1. Ouvrez votre .svg dans l'esquisse
  2. Sélectionnez ce cercle manquant dans la liste des pages. Dans mon cas, ça ressemble à ça.

 Page List

  1. Cliquez sur Remplissage (icône en forme d'engrenage) et réglez les paires impaires sur des valeurs non nulles.

 Fills

  1. Ouvrir le menu Calque -> Chemin -> Ordre inverse

 Reverse order

  1. Exporter la forme au format .svg

 Export

  1. Convertissez ce fichier .svg en dessin vectoriel (à partir d’Android Studio ou d’outils tiers)

C'est tout! Crédit à @dineshbob medium blog

2
aldok

Dans Inkscape, vous pouvez sélectionner les lignes a.s.o. qui utilisent la largeur de trait et les convertit en chemin avant de les enregistrer en tant que sgv:

 enter image description here

1
A.J.Bauer