NineOldAndroids:设置视图枢轴

时间:2012-02-29 08:53:53

标签: android android-animation

我正在使用奇妙的框架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();

但它不起作用,枢轴停留在视图的中心。

你能帮我吗?

谢谢;)

2 个答案:

答案 0 :(得分:18)

感谢作者Jake Wharton,这是解决方案:

AnimatorProxy.wrap(myView).setPivotX(0);

随时之后调用ObjectAnimator.start()

答案 1 :(得分:15)

AnimatorProxy.wrap(...)对我的情况没有任何影响。 但是,以下一行就是这个伎俩:

ViewHelper.setPivotY(myView, 0)