Анимированная (VectorDrawable) анимация программно во время выполнения

Я хочу анимировать my AnimatedVectorDrawable программно во время выполнения без использования .xml файлов. Фактически я использую .xml файлы так же, как показывает образцы документации:

AnimatedVectorDrawable

Итак, у меня есть vector_drawable.xml содержит <vector> с вложенными <group> и <path> которые определяют форму.

Для этого вектора у меня есть animated_vector_drawable.xml содержит <animated-vector> с android:animation ориентированная на <target> .

Последний шаг определяет анимационный файл rotation.xml с помощью <objectAnimator> который используется animated_vector_drawable.xml

Все работает нормально, но проблема возникает, когда мне нужно создать много разных форм (векторов) со многими разными или похожими анимациями, потому что это генерирует много .xml файлов.

  1. Я не могу включить готовый и подготовленный <vector> из одного .xml файла в другой (какой-то <include> ), поэтому мне нужно скопировать тот же код в другие файлы. Это очень раздражает.

  2. Если я хочу использовать одну и ту же анимацию для нескольких элементов <target> но каждая анимация должна иметь другую задержку или любое значение свойства ( alpha , rotation , interpolator …), я должен создать новый .xml файл, содержащий <objectAnimator> с измененным Одно значение свойства вместо того, чтобы использовать тот же самый, один файл с измененным значением свойства. Это также раздражает.

  3. Я обнаружил, что я могу использовать ObjectAnimator и программно программировать alpha & fillColor для AnimatedVectorDrawable но есть проблема, когда я хочу изменить его translateX , translateY , rotation или любые другие свойства. Есть ли способ сделать это без .xml . Я просто хочу иметь доступ к <group>

Solutions Collecting From Web of "Анимированная (VectorDrawable) анимация программно во время выполнения"