Při vývoji aplikací pro Android je podpora více rozlišení někdy noční můrou vývojářů. Zahrnutí více obrázků pro různá rozlišení také zvyšuje velikost projektu. Řešením je použití vektorové grafiky, například obrázků SVG.
Co je to vektorový kreslitelný obrázek?“
Vektorový kreslitelný obrázek VectorDrawable
je vektorová grafika definovaná v souboru XML jako sada bodů, čar a křivek spolu s přidruženými barevnými informacemi. Hlavní výhodou použití vektorového drawable je škálovatelnost obrázku. Nyní není třeba vytvářet různé velikosti obrázku pro mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi atd. Vektorový drawable lze škálovat bez ztráty kvality zobrazení, což znamená, že stejný soubor lze zmenšit pro různé hustoty obrazovky bez ztráty kvality obrazu. Výsledkem jsou menší soubory APK a menší nároky na údržbu ze strany vývojářů.
Vytvoření projektu Android
1. Vytvořte nový projekt v aplikaci Android Studio z nabídky Soubor ⇒ Nový projekt a vyplňte údaje o projektu.
2. Otevřete soubor build.gradle a přidejte níže uvedený řádek uvnitř bloku defaultConfig.
vectorDrawables.useSupportLibrary = true
Pokud používáte gradle verze nižší než 2, přidejte následující řádek.0, pak použijte následující
aaptOptions {
additionalParameters " — no-version-vectors"
}
Vytvoření VectorDrawable
Existují 2 způsoby vytvoření VectorDrawable pomocí nástroje Android Studio Vector asset.
I) Material Icons
Začněme tedy vytvořením VectorDrawable z Material Icons. Tyto ikony jsou oficiální sadou ikon od společnosti Google, které jsou navrženy podle zásad Material Design.
- V projektu klikněte pravým tlačítkem myši na adresář Drawable
- Přejděte na New ⇒ Vector Asset
- Klikněte na ikonu spouštěče a procházejte Material Icons.
- Vyberte ikonu a klikněte na OK.
- Podívejte se na název souboru a klikněte na next.
- Nyní Vector Asset Studio zobrazí umístění, kam se soubor ukládá, prohlédněte si ho a klikněte na dokončit.
- Složka drawable se nyní bude skládat z nově vytvořeného souboru.
II) SVG nebo PSD soubor
Nyní jsme vytvořili vectorDrawable z Material Icon, co když chceme samostatnou ikonu? Můžeme ji vytvořit z SVG nebo PSD, níže je uveden postup
- V projektu klikněte pravým tlačítkem myši na adresář drawable
- Přejděte na New ⇒ Vector Asset
- Vyberte možnost Local File (SVG, PSD)
- Klikněte na ikonu browse a přejděte na váš SVG nebo PSD soubor, vyberte jej a klikněte na OK.
- Ověřte obrázek v náhledu a klikněte na tlačítko Další ⇒ Dokončit.
Použití VectorDrawable
Úspěšně jsme přidali VectorDrawables do projektu, nyní je čas je použít. Otevřete soubor rozvržení hlavní aktivity (activity_main.xml) a přidejte níže uvedený soubor xml. Tento layout obsahuje ukázku použití VectorDrawable s ImageView a dalšími Views (jako pozadí)
Pro použití VectorDrawable z javy nebo pro použití jako pozadí (také v xml) musíte intimně AppCompatDelegate povolit kompatibilitu vektoru ze zdroje. Níže je uveden kód pro tento účel.