NineOldAndroids: установить точку обзора

Я использую замечательную фреймворк 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();

но он не работает, ось находится в центре представления.

Можете ли вы мне помочь?

Спасибо;)

Ответы

Ответ 1

Благодаря автору Джейку Уортону, вот решение:

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

в любое время, даже после вызова ObjectAnimator.start().

Ответ 2

AnimatorProxy.wrap(...) не имеет никакого эффекта в моем случае. Однако следующая строка сделала трюк:

ViewHelper.setPivotY(myView, 0)