Bei der Entwicklung von Android-Anwendungen ist die Unterstützung mehrerer Auflösungen manchmal ein Alptraum für Entwickler. Die Einbeziehung mehrerer Bilder für verschiedene Auflösungen erhöht auch die Projektgröße. Die Lösung ist die Verwendung von Vektorgrafiken wie SVG-Bildern.
Was ist ein Vector Drawable?
Ein VectorDrawable
ist eine Vektorgrafik, die in einer XML-Datei als ein Satz von Punkten, Linien und Kurven zusammen mit den zugehörigen Farbinformationen definiert ist. Der Hauptvorteil der Verwendung einer Vektorgrafik ist die Skalierbarkeit des Bildes. Jetzt ist es nicht mehr nötig, Bilder in verschiedenen Größen für mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi usw. zu erstellen. Vektor-Drawables können ohne Verlust der Anzeigequalität skaliert werden, was bedeutet, dass dieselbe Datei für verschiedene Bildschirmdichten ohne Verlust der Bildqualität skaliert werden kann. Dies führt zu kleineren APK-Dateien und weniger Wartungsaufwand für den Entwickler.
Android-Projekt erstellen
1. Erstellen Sie ein neues Projekt in Android Studio unter Datei ⇒ Neues Projekt und füllen Sie die Projektdetails aus.
2. Öffnen Sie build.gradle und fügen Sie die folgende Zeile innerhalb des defaultConfig-Blocks ein.
vectorDrawables.useSupportLibrary = true
Wenn Sie eine gradle-Version unter 2.0 verwenden, dann verwenden Sie folgendes
aaptOptions {
additionalParameters " — no-version-vectors"
}
VectorDrawable erstellen
Es gibt 2 Möglichkeiten, VectorDrawable mit dem Android Studio Vector Asset Tool zu erstellen.
I) Material Icons
So lassen Sie uns mit dem Erstellen von VectorDrawable aus Material Icons beginnen. Diese Icons sind der offizielle Icon-Satz von Google, der unter den Material Design Richtlinien entworfen wurde.
- Im Projekt Rechtsklick auf das Drawable-Verzeichnis
- Gehen Sie zu Neu ⇒ Vector Asset
- Klicken Sie auf das Launcher-Symbol, um Material Icons zu durchsuchen.
- Wählen Sie ein Icon aus und klicken Sie auf OK.
- Überprüfen Sie den Namen der Datei und klicken Sie auf Weiter.
- Jetzt zeigt Vector Asset Studio den Speicherort der Datei an, überprüfen Sie ihn und klicken Sie auf „Fertig stellen“.
- Der Drawable-Ordner besteht jetzt aus einer neu erstellten Datei.
II) SVG- oder PSD-Datei
Jetzt haben wir vectorDrawable aus Material Icon erstellt, was aber, wenn wir ein separates Icon wollen? Wir können es aus einer SVG- oder PSD-Datei erstellen, siehe unten
- Klicken Sie im Projekt mit der rechten Maustaste auf das Drawable-Verzeichnis
- Gehen Sie zu Neu ⇒ Vektor-Asset
- Wählen Sie die Option Lokale Datei (SVG, PSD)
- Klicken Sie auf das Symbol Durchsuchen und navigieren Sie zu Ihrer SVG- oder PSD-Datei, um sie auszuwählen, und klicken Sie auf OK.
- Überprüfen Sie das Bild in der Vorschau und klicken Sie auf Weiter ⇒ Fertigstellen.
Verwendung von VectorDrawable
Wir haben erfolgreich VectorDrawables zum Projekt hinzugefügt, jetzt ist es Zeit, sie zu verwenden. Öffnen Sie die Layout-Datei der Hauptaktivität (activity_main.xml) und fügen Sie die folgende xml-Datei hinzu. Dieses Layout zeigt, wie man VectorDrawable mit ImageView und anderen Views (als Hintergrund)
Für die Verwendung von VectorDrawable aus Java oder als Hintergrund (auch in xml) müssen Sie AppCompatDelegate intimieren, um compat vector von resource zu aktivieren. Im Folgenden finden Sie den Code dafür.