Я использую Android KitKat, и это, кажется, не работает, как ожидалось. У меня есть AnimatiorSet, который должен запускаться после некоторой задержки, но я хочу сделать некоторые действия, когда анимация действительно запускается (после задержки). Похоже, что AnimatorSet вызывает onAnimationStarted для слушателей сразу после вызова start().
Пример кода ниже:
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(obj, "x", 10),
ObjectAnimator.ofFloat(obj, "y", 10));
set.setStartDelay(5000);
set.setDuration(1000)
set.addListener(new AnimatorListenerAdapter()
{
@Override
public void onAnimationStart(Animator animation)
{
// do sth
}
});
set.start();
В этом случае слушатель вызывается немедленно, а не с задержкой. Чтобы обойти эту проблему, я проверил, дает ли добавление слушателя аниматорам, переданным в playTogether, ожидаемый результат, и это действительно так. Это ошибка?