2014-04-28 5 views

Antwort

32

Die Antwort oben verdeutlicht ist nicht korrekt.

der Dokumentation wird, dass X und Y Eigenschaften absolute Positionen sind, während translationXtranslationY und jeweils mit den linken und oberen Eigenschaften bezeichnet werden.

So wird die Differenz zwischen animate().x() und animate().translationX() ist, dass man auf einen Absolutwert animiert, während die andere belebt noch einen Absolutwert, sondern durch die Ansicht LEFT und TOP Werte bestimmt.

Im Gegensatz dazu erhöhen animate().xBy() und animate().translationXBy() (algebraisch) den Eigenschaftswert um den angegebenen Betrag.

Das ist der Ursprung der oben genannten "einige Mathematik".

+1

habe ich nicht bekommen. kannst du bitte mehr Infos geben. oder verlinken Sie auf einige Ressourcen. so dass ich das Konzept verstehen kann –

+0

https://developer.android.com/reference/android/view/View.html –

1

x bezieht sich auf die aktuelle visuelle Position einer Ansicht in der x-Achse. Wenn Sie also zum Beispiel x animieren, indem Sie view.animate().x(10) aufrufen, wird die Ansicht so animiert, dass sie sich zu x=10 bewegt. Nehmen wir an, dass die Ansicht beim Start der Animation in einer Position von (100, 150) war. Am Ende der Animation befindet sich die Ansicht in (10, 150).

Nun, Kontrast dies mit translationX. Wenn Sie diese Eigenschaft animieren, indem Sie view.animate().translationX(10) aufrufen, verschieben Sie eine Ansicht um so viele Pixel auf der X-Achse. Nehmen wir das gleiche Beispiel an, in dem die Ansicht beim Starten der Animation in einer Position von (100, 150) war. Am Ende der Animation befindet sich die Ansicht in (110, 150).

Hoffe, dass der Unterschied zwischen x() und translationX() verdeutlicht. Der Unterschied ist der gleiche für y() und translationY(), aber in der y-Achse.

Aus meiner Sicht erreicht xBy() den gleichen Effekt wie translationX(), aber mit der x-Eigenschaft selbst und einige Mathematik. yBy() und translationY() sind die Äquivalente in der y-Achse.

Hoffnung, dass ...

+0

Danke, ich habe mich immer gefragt, warum sie eine translateXBy-Methode brauchten. Es fühlt sich genau so an wie XBy. –

+11

Dies ist die falsche Antwort. Siehe Nicolò Parolinis Antwort – tgkprog

+0

Stimmen Sie zu, dies ist nicht die richtige Antwort. Siehe die Dokumentation. –

Verwandte Themen