Android
Vector Drawables
Sök…
Introduktion
parametrar
Parameter | detaljer |
---|---|
<vector> | Används för att definiera en dragbar vektor |
<group> | Definierar en grupp sökvägar eller undergrupper plus information om transformation. Transformationerna definieras i samma koordinater som visningsområdet. Och transformationerna tillämpas i storleksordning, rotera och översätt sedan. |
<path> | Definierar banor som ska dras. |
<clip-path> | Definierar sökvägen som ska vara det aktuella klippet. Observera att klippvägen endast gäller den aktuella gruppen och dess barn. |
Anmärkningar
Uppdatera build.gradle- filen.
dependencies {
...
compile 'com.android.support:appcompat-v7:23.2.1'
}
Om du använder v2.0 eller högre för Gradle-plugin , lägg till följande kod.
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Om du använder v1.5 eller nedan för Gradle-plugin , lägg till följande kod.
// Gradle Plugin 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Läs Android Support Library 23.2 Release Notes för mer information.
OBS ! Även med AppCompat fungerar vektorteckningar utanför din app i äldre Android-versioner. Du kan till exempel inte skicka vektorteckningar som meddelandesymboler eftersom de hanteras av systemet och inte appen. Se detta svar för en lösning.
Exempel på användning av VectorDrawable
Här är en exempelvektor som vi faktiskt använder i AppCompat:
res / dragbart / 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>
Med hjälp av denna dragbara skulle ett exempel på ImageView
deklaration vara:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_search"/>
Du kan också ställa in det vid körning:
ImageView iv = (ImageView) findViewById(...);
iv.setImageResource(R.drawable.ic_search);
Samma attribut och samtal fungerar också för ImageButton
.
VectorDrawable xml-exempel
Här är en enkel VectorDrawable
i den här vectordrawable.xml- filen.
<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>
Importerar SVG-fil som VectorDrawable
Du kan importera en SVG- fil som en VectorDrawable
i Android Studio, följ dessa steg:
"Högerklicka" i res
mappen och välj ny > Vector tillgång .
Välj alternativet Lokal fil och bläddra till din .svg-fil. Ändra alternativen till din smak och tryck på Nästa. Gjort.