Бесконечный ObjectAnimator с интерполятором... Как ускорить только начальный старт?
У меня есть объектный аниматор с бесконечным режимом повтора. Я хочу ускорить его только в первый раз, когда он начинается... не каждый раз, когда он повторяется
Как это можно достичь?
мой код:
universeMovement1 = ObjectAnimator.ofFloat(universeImageView, "x", 0, sw);
universeMovement1.setDuration(UNIVERSE_MOVEMENT_TIME);
universeMovement1.setRepeatCount(ObjectAnimator.INFINITE);
universeMovement1.setRepeatMode(ObjectAnimator.RESTART);
universeMovement1.setInterpolator(new AccelerateInterpolator());
Ответы
Ответ 1
Добавьте слушателя в свою анимацию с помощью метода onAnimationRepeat и установите интерполятор обратно в LinearInterpolator или что угодно. Следовательно, когда он повторится, он больше не ускорится.
animation.addListener(new AnimatorListenerAdapter(){
@Override
public void onAnimationRepeat(Animator animation) {
animation.setInterpolator(new LinearInterpolator());
}
});
Ответ 2
используйте это:
objectAnimator.setInterpolator(new LinearInterpolator());