2013-06-10 5 views
16

Ich versuche, Ansichten auf eine bestimmte Größe zu skalieren, kann aber nicht ganz verstehen, wie Pivotierung funktioniert.Android-Einstellung Pivot-Punkt für die Skala Animation

Angenommen, ich möchte die Ansicht nur nach oben skalieren. Welchen Wert sollte "pivotY" haben? In XML ist es ein Prozentsatz. Wie ist es, wenn Pivot-Punkt programmgesteuert angewendet wird?

Beispiel:

ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", scaleSize); 
ObjectAnimator pivotY = ObjectAnimator.ofFloat(view, "pivotY", pivotPoint); 

AnimatorSet set = new AnimatorSet(); 
set.PlayTogether(scaleY, pivotY); 

Antwort

44

eigentlich ganz einfach.

Wenn Sie möchten, nach oben eine klare Option maßstäblich:

view.setPivotY(100); 

und nach unten:

view.setPivotY(0); 

dann animieren.

+1

Hinweis: Dies funktioniert nur für api 11+ – yiati

+1

was tun für <11 Unterstützung? –

+2

@AmrutBidri verwenden [nineoldandroids] (http://nineoldandroids.com/) – JMRboosties

2

Verwendung:

view.setPivotY(view.getMeasuredHeight()); 

Wenn Sie Ihr Objekt von unten zu animieren.