2013-06-10 7 views
16

Próbuję przeskalować widoki do określonego rozmiaru, ale nie mogę w pełni zrozumieć, jak działa obracanie.Punkt przełączania ustawień Androida dla animacji skali

Powiedz, że chcę przeskalować widok tylko w górę. Jaką wartość powinien mieć "obrót"? W XML jest to procent. Jak to jest programowo zastosować punkt obrotu?

Przykład:

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

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

Odpowiedz

44

Dość proste faktycznie.

Jeśli chcesz przeskalować w górę jeden wyraźny opcji jest:

view.setPivotY(100); 

iw dół:

view.setPivotY(0); 

następnie animować.

+1

Uwaga: Działa to tylko w przypadku api 11+ – yiati

+1

co zrobić w przypadku obsługi <11? –

+2

@AmrutBidri używać [nineoldandroids] (http://nineoldandroids.com/) – JMRboosties

2

Zastosowanie:

view.setPivotY(view.getMeasuredHeight()); 

Jeśli chcesz animować obiekt od dołu.