Анимация поворота Android получает текущий угол/градусы при прерывании

интересно, как получить текущий угол/градусы в анимации поворота, когда анимация заканчивается или прерывается?

моя идея заключается в том, что когда анимация прерывается при нажатии какой-либо кнопки, вращение будет идти против часовой стрелки (текущий поток по часовой стрелке), начинается с последнего угла / градуса прямо, когда он прерывается.

я пытался использовать applyTransformation, но, похоже, он не вызывается :(

Спасибо!


person yfsx    schedule 14.09.2015    source источник
comment
applyTransformation вызывается для любой анимации, которая расширяет android.view.animation.Animation   -  person pskink    schedule 14.09.2015
comment
буду иметь в виду @pskink спасибо!   -  person yfsx    schedule 14.09.2015
comment
См. этот вопрос.   -  person luiswill    schedule 02.12.2017


Ответы (1)


Для этого вам нужно вращать объект не с помощью простой анимации вращения. Но нужно вращать с помощью ObjectAnimator.

Вот простой пример, чтобы найти угол поворота мяча (изображение).

ImageView  ball;

int i = ball.getMeasuredHeight();

ObjectAnimator animation = ObjectAnimator.ofFloat(ball, "rotation", 0, 360);
animation.setDuration(10000);
ball.setPivotX(0);
ball.setPivotY(i / 2);
animation.setRepeatCount(ObjectAnimator.INFINITE);
animation.setInterpolator(new LinearInterpolator());
animation.start();

Чтобы получить текущий угол поворота, используйте:

ball.getRotation();
person Sanket Sangani    schedule 28.07.2016