Ich habe mir die Dokumentation für GradientColor Ссылка angesehen. Wie kann ich eine Farbverlaufsfarbe in XML definieren und auf einen XML-Vektor anwenden, der gezeichnet werden kann?
Ich habe es in color.xml, styles.xml und innerhalb eines XML-Vektors ausprobiert.
Ich erhalte den Fehler "Konnte @ id / gradclor nicht in eine ColorStateList konvertieren" mit:
%Vor%oder Msgstr "Konnte #FFFFFFFF # 00FFFFFF 145 in eine ColorStateList konvertieren, wenn:
verwendet wurde %Vor%mit den folgenden in color.xml:
%Vor%Ich habe es endlich geschafft. Gradient Farbe Funktion wird nicht unterstützt noch in Android Studio (aktuelle Version ist 2.2), so dass es hilft Ihnen nicht mit dem automatischen Vervollständigung aber Markierungen Gradienten-Tag als Fehler statt. Trotzdem ist das Feature tatsächlich funktioniert, habe ich es erfolgreich auf dem Nexus 5X / API 24. Natürlich getestet, müssen Sie ein API 24+ Gerät verwenden, da sonst diese Funktion nicht von O unterstützt wird.
Zuerst müssen Sie eine Farbressourcendatei wie folgt hinzufügen:
%Vor%Bitte beachten Sie die Start- / Endparameter, da sie für die Vektorverläufe essentiell sind.
Legen Sie diese Datei unter einem Namen in den Ordner res / color. Ich habe es gradient.xml genannt, also ist der vollständige Pfad res / color / gradient.xml. Danach können Sie in Farbattributen, einschließlich Vektorpfadfarben, auf diese Ressource verweisen:
%Vor%Beachten Sie den Verweis auf die Farbverlaufsressource in strokeColor. Hoffe das hilft!
Die neueste Vorschau von Android (3.1 Canary 6) enthält ein Beispiel mit Vektorressourcen mit einem Farbverlauf.
%Vor%Ich bin mir nicht sicher, aber nach diesem Dokument :
Android: Strichfarbe Gibt die Farbe an, die zum Zeichnen der Pfadkontur verwendet wird. Dies kann eine Farbe oder, für SDK 24 + , eine Farbstatusliste oder eine Farbverlaufsfarbe sein (siehe Farbverlaufsfarbe und Farbverlaufsfarbe). Wenn diese Eigenschaft animiert ist, überschreibt jeder von der Animation festgelegte Wert den ursprünglichen Wert. Wenn diese Eigenschaft nicht angegeben wird, wird keine Pfadgliederung gezeichnet.
Wenn Ihr SDK & lt; 24 ist, sollte es nur eine Farbe sein.
Andererseits, wenn Ihr sdk größer als 24 ist, denke ich, dass es besser wäre, <gradient/>
anstelle von <color/>
Tags und Links android xml android-vectordrawable