Одновременно запускайте несколько ViewPropertyAnimators

С классом Animator вы можете просто вызвать что-то вроде следующего для одновременного воспроизведения нескольких анимаций:

AnimatorSet animatorSet = new AnimatorSet(); animatorSet.playTogether(animatorsArray); animatorSet.start(); 

Но я не могу найти ничего подобного, которое будет работать с ViewPropertyAnimator.

(FYI. Я пытаюсь анимировать несколько элементов listView)

Я знаю, что вопрос уже не один год, но так как мне нужно то же самое, и я придумал решение, я решил поделиться им:

Я создал обертку ObjectAnimator которую вы можете использовать почти так же, как и для ViewPropertyAnimator . И все же вы можете использовать объект ObjectAnimator чтобы вы могли написать свой AnimatorSet .

Обертка доступна здесь .

Пример (настройка анимации тех же параметров для mTestView ):

  1. ViewPropertyAnimator
 mTestView.animate().withLayer().alphaBy(0.3f).rotationX(27); 
  1. ViewPropertyObjectAnimator (моя обертка)
 ObjectAnimator objectAnimator = ViewPropertyObjectAnimator.animate(mTestView).withLayer().alphaBy(0.3f).rotationX(27).get(); 

И у вас есть ObjectAnimator который вы можете либо start() либо использовать внутри AnimatorSet .

Я бы предложил использовать withStartAction, как я упоминал выше.

При дальнейшем чтении страницы ViewPropertyAnimator в документах Android

Public ViewPropertyAnimator withStartAction (Runnable runnable) Добавлен в уровень API 16

Указывает действие, которое будет выполняться при следующем запуске анимации. Если на этом ViewPropertyAnimator установлен startDelay, действие будет запускаться после того, как истечет время началаDelay, когда начнется фактическая анимация. Этот метод, наряду с EndAction (Runnable), предназначен для облегчения хореографии анимаций ViewPropertyAnimator с другими анимациями или действиями в приложении.

Я собираюсь использовать это сам, и похоже, что он работает.

Я добавил весь код анимации в Runnable, добавил несколько Runnables в ArrayList, и когда я был готов, я зациклился на ArrayList и назвал run () для всех из них.