Android
Disegni vettoriali
Ricerca…
introduzione
Parametri
Parametro | Dettagli |
---|---|
<vector> | Utilizzato per definire un vettore disegnabile |
<group> | Definisce un gruppo di percorsi o sottogruppi, oltre a informazioni sulla trasformazione. Le trasformazioni sono definite nelle stesse coordinate del viewport. E le trasformazioni vengono applicate nell'ordine di scala, ruotano poi traducono. |
<path> | Definisce i percorsi da tracciare. |
<clip-path> | Definisce il percorso per essere la clip corrente. Si noti che il percorso della clip si applica solo al gruppo corrente e ai relativi figli. |
Osservazioni
Aggiorna il file build.gradle .
dependencies {
...
compile 'com.android.support:appcompat-v7:23.2.1'
}
Se stai usando la versione 2.0 o successiva del plugin Gradle , aggiungi il seguente codice.
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Se stai usando la versione 1.5 o successiva del plugin Gradle , aggiungi il seguente codice.
// Gradle Plugin 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Leggi le note di rilascio della libreria di supporto Android 23.2 per maggiori informazioni.
NOTA: Anche con AppCompat , i vettoriali Drawable non funzioneranno al di fuori della tua app nelle versioni precedenti di Android. Ad esempio, non è possibile passare i vettoriali drawable come icone di notifica man mano che vengono gestiti dal sistema e non dall'app. Vedi questa risposta per una soluzione.
Esempio di utilizzo di VectorDrawable
Ecco un asset vettoriale di esempio che stiamo effettivamente utilizzando in 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>
Usando questo drawable, una dichiarazione ImageView
esempio potrebbe essere:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_search"/>
Puoi anche impostarlo in fase di esecuzione:
ImageView iv = (ImageView) findViewById(...);
iv.setImageResource(R.drawable.ic_search);
Lo stesso attributo e le chiamate funzionano anche per ImageButton
.
Esempio di VectorDrawable xml
Ecco un semplice VectorDrawable
in questo file 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>
Importazione del file SVG come VectorDrawable
È possibile importare un file SVG come VectorDrawable
in Android Studio, attenersi alla seguente procedura:
"Fai clic con il tasto destro del mouse" nella cartella res
e seleziona new > Vector Asset .
Seleziona l'opzione File locale e cerca il tuo file .svg. Cambia le opzioni a tuo piacimento e premi avanti. Fatto.