我使用的是精彩的框架NineOldAndroids,但我找不到任何设置支点在我的动画的看法。具体来说,我试图做一个的scaleX
+ 的scaleY
动画在左上角边缘的支点,所以 pivotX
= 0和 pivotY
= 0。蜂窝和超越,我只想设置 MyView的。 setPivotX(0)
和 myView.setPivotY(0)
,但如何做到这一点的pre-蜂窝设备与NineOldAndroids?我试过如下:
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.
你能帮助我吗?
感谢;)
由于笔者杰克沃顿商学院,这里是解决方案:
Thanks to the author Jake Wharton, here is the solution:
AnimatorProxy.wrap(myView).setPivotX(0);
在任何时候,甚至的在的有名为 ObjectAnimator.start()
。