I'm using the wonderful framework NineOldAndroids, but I can't find anything to set the pivot on my animated views. Specifically, I'm trying to do a scaleX
+ scaleY
animation with a pivot on the top-left edge, so pivotX
= 0 and pivotY
= 0. On Honeycomb and beyond I would just set myView.setPivotX(0)
and myView.setPivotY(0)
, but how to do it for pre-Honeycomb devices with NineOldAndroids? I tried the following:
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(myView, "pivotX", -(myView.getWidth() / 2), -(myView.getWidth() / 2)),
ObjectAnimator.ofFloat(myView, "pivotY", -(myView.getHeight() / 2), -(myView.getHeight() / 2)),
ObjectAnimator.ofFloat(myView, "scaleX", 0, 1),
ObjectAnimator.ofFloat(myView, "scaleY", 0, 1),
ObjectAnimator.ofFloat(myView, "alpha", 0, 1)
);
set.setDuration(1000).start();
but it doesn't work, the pivot stays at the center of the view.
Can you help me please?
Thanks ;)
Thanks to the author Jake Wharton, here is the solution:
AnimatorProxy.wrap(myView).setPivotX(0);
at any time, even after having called ObjectAnimator.start()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With