Ved udvikling af Android-applikationer er understøttelse af flere opløsninger et mareridt for udviklere. Medtagelse af flere billeder til forskellige opløsninger øger også projektets størrelse. Løsningen er at bruge vektorgrafik som f.eks. SVG-billeder.
Hvad er Vector Drawable?
En
VectorDrawable
er en vektorgrafik, der er defineret i en XML-fil som et sæt punkter, linjer og kurver sammen med de tilhørende farveoplysninger. Den største fordel ved at bruge en vektor drawable er billedets skalerbarhed. Nu er der ikke længere behov for at oprette forskellige billedstørrelser for mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi osv. Vector drawable kan skaleres uden tab af visningskvalitet, hvilket betyder, at den samme fil kan ændres i størrelse til forskellige skærmtætheder uden tab af billedkvalitet. Dette resulterer i mindre APK-filer og mindre vedligeholdelse fra udviklerens side.Skabelse af Android-projekt
1. Opret et nyt projekt i Android Studio fra File ⇒ New Project og udfyld projektdetaljerne.
2. Åbn build.gradle og tilføj nedenstående linje inde i defaultConfig-blokken.
vectorDrawables.useSupportLibrary = trueHvis du bruger gradle-version under 2.0, så brug følgende
aaptOptions {
additionalParameters " — no-version-vectors"
}Skabelse af VectorDrawable
Der er 2 måder at skabe VectorDrawable på ved hjælp af Android Studio Vector asset tool.
I) Material Icons
Så lad os starte med at skabe VectorDrawable fra Material Icons. Disse ikoner er det officielle ikonsæt fra Google, der er designet under material design-retningslinjerne.
- I projektet Højreklik på drawable-mappen
- Gå til New ⇒ Vector Asset
- Klik på launchersymbolet for at gennemse Material Icons.
- Vælg et ikon, og klik på OK.
- Se navnet på filen, og klik derefter på næste.
- Nu viser Vector Asset Studio placeringen om, hvor filen gemmes, gennemgå den og klik på færdig.
- Den drawable-mappe vil nu bestå af en nyoprettet fil.
II) SVG- eller PSD-fil
Nu har vi oprettet vectorDrawable fra Material Icon, hvad hvis vi ønsker et separat ikon? Vi kan oprette det fra SVG eller PSD, nedenfor er proceduren
- I projektet Højreklik på drawable-mappen
- Gå til New ⇒ Vector Asset
- Vælg Local File (SVG, PSD) option
- Klik på browse-ikonet og navigér til din SVG- eller PSD-fil for at vælge den og klik på OK.
- Kontroller billedet i forhåndsvisningen, og klik på Næste ⇒ Afslut.
Brug af VectorDrawable
Vi har med succes tilføjet VectorDrawables til projektet, nu er det tid til at bruge dem. Åbn layoutfilen for hovedaktiviteten (activity_main.xml), og tilføj nedenstående xml. Dette layout indeholder viser, hvordan man bruger VectorDrawable med ImageView og andre Views (som baggrund)
For at bruge VectorDrawable fra java eller for at bruge det som baggrund (også i xml) skal du intime AppCompatDelegate for at aktivere compat vektor fra ressource. Nedenfor er koden til det.