Я прокручиваю HorizontalScrollView
с помощью ObjectAnimator
(слева -> справа -> слева). Поэтому результат должен быть бесконечным прокруткой с одной стороны на другую.Удалить задержка по умолчанию перед вторым запуском ObjectAnimator
проблема в том, что есть какая-то задержка, например, через 1 секунду после того, как я начал анимировать вправо -> влево. Что вызывает такое поведение?
Я создал 2 анимацию и начать один за другим (, если вы знаете, лучшее решение, которое ценится):
final ObjectAnimator animRight = ObjectAnimator.ofInt(hScrollView, "scrollX", hScrollView.getRight());
animRight.setDuration(SCROLL_DURATION);
final ObjectAnimator animLeft = ObjectAnimator.ofInt(hScrollView, "scrollX", 0);
animLeft.setDuration(SCROLL_DURATION);
animRight.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {}
@Override
public void onAnimationEnd(Animator animation) {
animLeft.start();
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
});
animLeft.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {}
@Override
public void onAnimationEnd(Animator animation) {
animRight.start(); //delay occurs here
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
});
animRight.start();
посмотреть документацию по 'ObjectAnimator'^F повторения – pskink
Да, я знаю о повторе. Но есть проблема в создании полного пути к анимации, то есть вправо-влево-вправо, так что должно быть плавно – AnZ
просто используйте правый интерполятор, например 'CycleInterpolator' – pskink