ObjectAnimators
wird tatsächlich alles mit "set" vor dem Namen animieren. Also im Falle von View gibt es setX(float)
, setY(float)
, setZ(float)
, setTranslationX(float)
, und so weiter. Wenn Sie eine benutzerdefinierte Ansicht mit eigenen Eigenschaften erstellen, verwenden Sie einfach set____(type)
Syntax, um eine ObjectAnimator
darauf ohne zusätzliche Arbeit zu verwenden
Im Grunde rufen sie diese Methoden nur bei Wiederholungsintervallen mit Werten auf, die durch TimeInterpolator
festgelegt sind, die auf Animator
festgelegt ist.
EDIT:
Es gibt eine Menge von Eigenschaften, die auf einer Ansicht animieren können, aber hier ist eine Beschreibung der gebräuchlichsten.
setX/Y(float)
-. Dies wird die Ansicht auf den genauen X animiert oder Y-Koordinaten der Mutter View
dass sie enthalten ist in den Pixelkoordinaten an (0,0)
in der oberen linken Ecke und (getWidth(), height())
an der unteren rechten Ecke beginnen. setY(float)
wird die getTop()
der Ansicht anpassen und setX(float)
wird die getLeft()
der Ansicht anpassen.
setTranslationX/Y(float)
- Dies animiert die Ansicht auf die relative Position des View
, wo der Startpunkt ist. Wenn beispielsweise die getLeft()
der Ansicht 50 zurückgibt, wird die Ansicht beim Aufruf setTranslationX(25)
um 25 Pixel nach Pixel 75 verschoben. Ebenso wird setTranslationY(25)
die Ansicht um 25 Pixel nach unten verschieben. Negative Werte bewegen es nach links bzw. nach oben.
setRotation(float)
- Dadurch wird der View
um den angegebenen Drehpunkt gedreht, wie von setPivotX(float)
und setPivotY(float)
definiert. Standardmäßig liegt der Drehpunkt bei Koordinaten (0,0). Sie können es auf die Mitte gesetzt durch so etwas wie dies zu tun:
View viewToAnimate = getViewToAnimate();
float width = viewToAnimate.getWidth();
float height = viewToAnimate.getHeight();
viewToAnimate.setPivotX(width/2);
viewToAnimate.setPivotY(height/2);
setScaleX/Y(float)
- Dies wird schrumpfen oder eine Ansicht wächst auf dem Drehpunkt basierend, wie oben beschrieben. Ein Wert von "1.0f" macht es normal Größe. Alles, was weniger als "1" ist, wird es verkleinern und etwas mehr als "1" wird es wachsen lassen.
Dies beantwortet leider meine Frage nicht. Was wird "y" tatsächlich tun? Jede Antwort, auf die ich stoße, hinterlässt sehr wichtige Informationen, weshalb ich nach einer echten Dokumentation suche (die es anscheinend nicht gibt). Zum Beispiel nochmal: Wofür wird der Wert tatsächlich verwendet? Die Koordinate, zu der die Ansicht animiert wird, oder die Pixelentfernung? – Jeff
Entschuldigung. Bearbeiten meiner Antwort. – DeeV
Danke. Vielen Dank. Vielen Dank. Vielen Dank – Jeff