Recherche…


Introduction

Comme son nom l'indique, les dessins vectoriels sont basés sur des graphiques vectoriels. Les graphiques vectoriels permettent de décrire des éléments graphiques à l'aide de formes géométriques. Cela vous permet de créer un dessin basé sur un graphique vectoriel XML. Désormais, il n'est plus nécessaire de concevoir des images de tailles différentes pour les formats mdpi, hdpi, xhdpi, etc. Cela ne permet pas non plus d'économiser de l'espace mais simplifie également la maintenance.

Paramètres

Paramètre Détails
<vector> Utilisé pour définir un dessin vectoriel
<group> Définit un groupe de chemins ou de sous-groupes, ainsi que des informations de transformation. Les transformations sont définies dans les mêmes coordonnées que la fenêtre d'affichage. Et les transformations sont appliquées dans l’ordre d’échelle, en rotation puis en translation.
<path> Définit les chemins à tracer.
<clip-path> Définit le chemin pour être le clip en cours. Notez que le chemin d'accès du clip s'applique uniquement au groupe actuel et à ses enfants.

Remarques

Mettez à jour le fichier build.gradle .

dependencies {
    ...
   compile 'com.android.support:appcompat-v7:23.2.1'
}

Si vous utilisez la version 2.0 ou supérieure du plug - in Gradle , ajoutez le code suivant.

// Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

Si vous utilisez la version 1.5 ou inférieure du plug - in Gradle , ajoutez le code suivant.

// Gradle Plugin 1.5  
 android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 }

Lisez les notes de publication d'Android Support Library 23.2 pour plus d'informations.

REMARQUE: Même avec AppCompat , Vector Drawables ne fonctionnera pas en dehors de votre application dans les anciennes versions Android. Par exemple, vous ne pouvez pas transmettre les fichiers vectoriels en tant qu'icônes de notification car ils sont gérés par le système et non par l'application. Voir cette réponse pour une solution de contournement.

Exemple d'utilisation de VectorDrawable

Voici un exemple d’actif vectoriel que nous utilisons actuellement dans AppCompat:

res / drawable / ic_search.xml

<vector xmlns:android="..."
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0"
        android:tint="?attr/colorControlNormal">

    <path
        android:pathData="..."
        android:fillColor="@android:color/white"/>

</vector>

En utilisant ce dessin, un exemple de déclaration ImageView serait:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_search"/>

Vous pouvez également le définir à l'exécution:

ImageView iv = (ImageView) findViewById(...);
iv.setImageResource(R.drawable.ic_search);

Le même attribut et les appels fonctionnent également pour ImageButton .

Exemple XML VectorDrawable

Voici un simple VectorDrawable dans ce fichier vectordrawable.xml .

 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="64dp"
     android:width="64dp"
     android:viewportHeight="600"
     android:viewportWidth="600" >
     <group
         android:name="rotationGroup"
         android:pivotX="300.0"
         android:pivotY="300.0"
         android:rotation="45.0" >
         <path
             android:name="v"
             android:fillColor="#000000"
             android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
     </group>
 </vector>

Importation d'un fichier SVG en tant que VectorDrawable

Vous pouvez importer un fichier SVG en tant que VectorDrawable dans Android Studio, procédez comme suit:

Cliquez avec le bouton droit de la souris sur le dossier res et sélectionnez new > Vector Asset .

entrer la description de l'image ici

Sélectionnez l'option Fichier local et accédez à votre fichier .svg. Changez les options à votre convenance et cliquez sur Suivant. Terminé.

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow