Ich versuche, den Morphing-Effekt zu erzielen, wenn der Benutzer auf myButton klickt, sollte das Bild in der ImageView von Pfeil zu Häkchen wechseln. Und wenn er erneut klickt, sollte der Prozess umgekehrt werden: das Häkchen sollte in Pfeil umwandeln.
Das habe ich getan:
animierte_vector.xml:
%Vor%animator_upvote_to_checkmark.xml:
%Vor%Und so spiele ich die Animation:
%Vor%Dies verwandelt den Pfeil in ein Häkchen, wie kann ich den Prozess umkehren?
Wenn Ihre Ansicht checkable
und auch Ihre minsdk > 21
ist, können Sie StateListAnimator
mit AnimatedVectorDrawable
verwenden, aber weil appcompat
jetzt vectorDrawable
und AnimatedVectorDrawable
unterstützt und auch eine Einschränkung für die Verwendung von all hat DrawableContainers
Ich nehme den obigen Ansatz nicht.
Also lassen Sie mich Ihnen sagen, was funktionieren könnte:
DrawableContainers, die auf andere drawbare Ressourcen verweisen, die enthalten nur eine Vektorressource. Zum Beispiel eine StateListDrawable, die verweist auf andere Dateien, die einen Vektor enthalten.
von Chris Banes
Um das zu erreichen, werde ich die benutzerdefinierte ImageView
erstellen und jedes Mal, wenn darauf geklickt wird, müssen Sie morph
function aufrufen, um die entsprechende vectorAnimatorDrawable
auszuführen.
Also Code und Demo:
%Vor% und MainActivity
:
in der Layoutdatei müssen Sie es wie folgt verwenden:
%Vor%und Ressourcen für diejenigen, die es versuchen wollen:
res / animator / arrow_to_checkmark
%Vor%res / animator / häkchen_an_arrow
%Vor%res / Zeichen / Pfeil_zu_Kennzeichen
%Vor%res / drawable / checkmark_to_arrow
%Vor%res / drawable / ic_arrow_up_24dp
%Vor%res / drawable / ic_checkmark_24dp
%Vor%Ich werde mit Circular Progress Button gehen, Sie können es nach Ihren Bedürfnissen anpassen oder erweitern Sie die Bibliothek (seit. Es ist Open Source). Ich benutze das schon seit einiger Zeit und es ist ziemlich einfach in deine Projekte zu integrieren.
Außerdem kannst du daraus lernen und deine eigene Bibliothek erstellen: -)
Hier das Git-Repository CircularProgressButton
Sie können auch andere hervorragende Open-Source-Anwendungen wie den Android Morphing-Button
ausprobierenTags und Links android