Android
Vector Drawables
Zoeken…
Invoering
parameters
Parameter | Details |
---|---|
<vector> | Wordt gebruikt om een vector-tekenruimte te definiëren |
<group> | Definieert een groep paden of subgroepen, plus transformatie-informatie. De transformaties worden gedefinieerd in dezelfde coördinaten als de viewport. En de transformaties worden toegepast in de volgorde van schaal, roteren en vervolgens vertalen. |
<path> | Definieert de te tekenen paden. |
<clip-path> | Definieert pad als de huidige clip. Merk op dat het clippad alleen van toepassing is op de huidige groep en de onderliggende groepen. |
Opmerkingen
Update build.gradle- bestand.
dependencies {
...
compile 'com.android.support:appcompat-v7:23.2.1'
}
Als u v2.0 of hoger van de Gradle-plug-in gebruikt , voegt u de volgende code toe.
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Als u v1.5 of lager van de Gradle-plug-in gebruikt , voeg dan de volgende code toe.
// Gradle Plugin 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Lees Android Support Library 23.2 Release-opmerkingen voor meer info.
OPMERKING: Zelfs met AppCompat werken Vector Drawables niet buiten uw app in oudere Android-versies. U kunt bijvoorbeeld vectortekenreeksen niet doorgeven als meldingspictogrammen, aangezien deze door het systeem en niet door de app worden verwerkt. Zie dit antwoord voor een oplossing.
Voorbeeld van vectordrawable-gebruik
Hier is een voorbeeld van een vectoractief dat we eigenlijk gebruiken in AppCompat:
res / betekenbare / 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>
Met behulp van dit teken kan een voorbeeld van een ImageView
aangifte zijn:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_search"/>
U kunt het ook instellen tijdens runtime:
ImageView iv = (ImageView) findViewById(...);
iv.setImageResource(R.drawable.ic_search);
Hetzelfde kenmerk en aanroepen werken ook voor ImageButton
.
VectorDrawable xml-voorbeeld
Hier is een eenvoudige VectorDrawable
in dit vectordrawable.xml- bestand.
<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>
SVG-bestand importeren als VectorDrawable
U kunt een SVG- bestand importeren als VectorDrawable
in Android Studio, volg deze stappen:
Klik met de rechtermuisknop op de map res
en selecteer Nieuw > Vector-activum .
Selecteer de optie Lokaal bestand en blader naar uw .svg-bestand. Wijzig de opties naar wens en klik op Volgende. Gedaan.