Android
Dessins vectoriels
Recherche…
Introduction
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 .
Sélectionnez l'option Fichier local et accédez à votre fichier .svg. Changez les options à votre convenance et cliquez sur Suivant. Terminé.