我正在使用奇妙的框架NineOldAndroids,但我找不到任何东西来设置我的动画视图的轴心。具体来说,我正在尝试使用左上角的一个转轴执行scaleX
+ scaleY
动画,因此pivotX
= 0且pivotY
= 0。我只想设置myView.setPivotX(0)
和myView.setPivotY(0)
,但如何使用NineOldAndroids进行预蜂窝设备?我尝试了以下方法:
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();
但它不起作用,枢轴停留在视图的中心。
你能帮我吗?
谢谢;)
答案 0 :(得分:18)
感谢作者Jake Wharton,这是解决方案:
AnimatorProxy.wrap(myView).setPivotX(0);
随时在之后调用ObjectAnimator.start()
。
答案 1 :(得分:15)
AnimatorProxy.wrap(...)对我的情况没有任何影响。 但是,以下一行就是这个伎俩:
ViewHelper.setPivotY(myView, 0)