VectorDrawable - ist es irgendwie für Pre-Lollipop-Versionen von Android verfügbar?
Hintergrund
Habe ich bemerkt, dass Android unterstützt jetzt eine Art von Vektor-Zeichnung, die über eine Klasse namens "VectorDrawable" (und auch AnimatedVectorDrawableBTW). Ich habe festgestellt, über die es betrachten, was ist neu auf Android-Studio.
Frage ich mich, ob dies ist das Ende " zu haben, um mehrere Dateien in mehreren Ordnern (mdpi
hdpi
xhdpi
etc). Das wäre toll und könnte zu minimieren apps-Größen auf einigen Fällen.
Die Fragen
Ich würde gerne ein paar Fragen bezüglich dieser neuen Klasse:
- Ist es möglich, um es in älteren Android-Versionen, vielleicht über eine Bibliothek mit sogar der support library von Google?
- Ich bin nicht vertraut mit, wie es funktioniert, kann aber Lollipop Griff SVG-Dateien? Kann er irgendetwas tun, dass ist erreichbar auf SVG-Dateien?
- Gibt es eine sample/tutorial/video mit der es andere als in der Dokumentation, die ich gefunden habe?
InformationsquelleAutor der Frage android developer | 2014-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE AUF März 2016
Durch Android Support Library 23.2.1 update, Support-Vector-Drawables und Animierte Vektor-Drawables. (Sie können auch latestone für die gleiche)
Bitte aktualisieren Sie Ihre version von einer Bibliothek in gradle-Datei.
Vektor drawables ermöglichen ersetzen mehrere png-Anlagen mit einer Vektor-Grafikin XML definiert. Während die bislang Lollipop und höher Gerätebeide
VectorDrawable
undAnimatedVectorDrawable
sind ab sofort über zwei neue Support-Bibliotheken support-Vektor-drawable und animierte-Vektor-drawable. neueapp:srcCompat
Attribut-Referenz Vektor drawables .Überprüfen Sie die Quelle auf github mit einigen Beispiel Beispiele.
Änderungen für die v7 appcompat library:
Zurückgesetzt Abhängigkeit von Vektor-Elemente, so dass Entwickler, die mit der appcompat-Bibliothek sind nicht gezwungen, zu verwenden
VectorDrawable
und seine zugehörigen build-flags.InformationsquelleAutor der Antwort Amit Vaghela
Können Sie versuchen, diese support-Bibliothek. Es unterstützt VectorDrawable und AnimatedVectorDrawable eingeführt Lollipop mit voll rückwärts-Kompatibilität.
InformationsquelleAutor der Antwort V_J
Update 2: Sie aktivieren es wieder in Support Library 23.4.0:
Überprüfen Sie diese 23.4.0 jetzt erhältlich
Update: Dies funktioniert nicht von version 23.3.0
Überprüfen Sie hier für details.
Proxy-drawables nicht funktionieren.
app:srcCompat
undsetImageResource()
arbeiten, jedoch.Vektor Drawable-support ist verfügbar auf der Support-Bibliothek von version 23.2 und darüber hinaus. Aber richtig diese drawables werden, müssen Sie indirekt verwiesen wird.
Ersten Schritt wäre zu stoßen, die
AppCompat
version.Zweiten aktivieren Vektor Drawable-Unterstützung.
Bei Verwendung von Gradle plugin, 2.0+
Sonst
Drittensiehe die verlinkten Antwort.
InformationsquelleAutor der Antwort razzledazzle
Leider zu diesem Zeitpunkt VectorDrawable und AnimatedVectorDrawable sind nicht verfügbar in der Bibliothek unterstützt. Aber nützen dieses feature in der Pre-Lollipop-Versionen, die Sie verwenden können, die inoffizielle Rückportierung nennt MrVector.
MrVector ist in Github und es unterstützt android-Versionen von 7+.
Aus der offiziellen Readme
Hinzufügen MrVector Abhängigkeit fügen Sie die folgende Zeile zu erstellen.gradle dependencies block.
Erstellen der drawable aus dem Vektor XML,
Hoffe, das hilft.
InformationsquelleAutor der Antwort gnuanu
Ergänzen einige der Antworten hier: ja, Sie können die Unterstützung für VectorDrawables pre-Lollipopzumindest teilweise.
Wie teilweise? Es hängt davon ab - ich habe dieses Diagramm zu helfen (gültig für Support Library 23.4.0 um wenigstens 25.1.0).
InformationsquelleAutor der Antwort David Ferrand
Lollipop nicht in den Griff SVG-Dateien ohne third-party libs.
Die beste Lösung, die ich fand, ist die BetterVectorDrawable lib zusammen mit der SVG zu VectorDrawable Konverter.
BetterVectorDrawable ist die VectorDrawable Umsetzung für Android 4.0+ mit konfigurierbaren fall-back-Verhalten auf Android 5.0+.
SVG zu VectorDrawable Konverter ist die batch-Konverter von SVG-Bildern zur Android VectorDrawable XML-Ressource-Dateien. Online-version
- Links verweisen auf README-Dateien, die genügend Informationen bieten, auf wie die lib und den Konverter.
InformationsquelleAutor der Antwort A-student
Wenn Sie VectorDrawable, Android-Studio wird automatisch nach PNG-Dateien (basierend auf XML-Dateien) für Pre-Lollipop-Versionen.
Beachten Sie, daß die generierten PNG-Dateien als BitmapDrawables statt VectorDrawables auf Geräten mit API unter 21 und daher keine Animation oder ähnliches auf diesen Geräten.
Siehe "rückwärts-Kompatibilität" für mehr details:
http://android-developers.blogspot.co.at/2015/09/android-studio-14.html
InformationsquelleAutor der Antwort Mehlyfication
Gibt es keine VectorDrawables in der Unterstützung der Bibliothek in dieser Zeit.
Funkystein richtig ist-VectorDrawable ist ähnlich wie SVG, nur unterstützen die Funktionen der Vektor-Zeichnung, sind in der höchsten Nachfrage, so dass android konzentrieren sich auf performance. pathData, zum Beispiel hat das gleiche format wie SVG "d" string.
InformationsquelleAutor der Antwort George Mount
Die gute Nachricht ist, dass Google veröffentlicht Android Support Library 23.2 Support-Vector-Drawables und Animierte Vektor-Drawables!
Aber der Dank der Menschen, die portiert diese Bibliothek vor Google!!!
Anleitung zur Benutzung:
Finden "age-of-the-Vektoren" von @chrisbanes
InformationsquelleAutor der Antwort LOG_TAG