Android setting pivot point for scale animation

TalMihr picture TalMihr · Jun 10, 2013 · Viewed 33.4k times · Source

I am trying to scale views to a certain size but can't quite understand how pivoting works.

Say I want to scale the view upwards only. What value should the "pivotY" hold? In XML, it is a percentage. How is it when applying pivot point programmatically?

Example:

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

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

Answer

TalMihr picture TalMihr · Jun 10, 2013

Quite simple actually.

If you want to scale upwards one clear option is:

 view.setPivotY(100);

and downwards:

 view.setPivotY(0);

then animate.