Intereting Posts
Android obfuscate приложение с помощью proguard поддерживает обфускацию библиотечных банок – или это так? Местоположение Android GPS Периодически SecurityException: вызов Binder для неправильного интерфейса с использованием биллинга в приложении Как получить позицию щелчка в onClickListener? Предотвратите выпадающее меню Изменение ConnectionTimeout для переоснащения OkHttpClient во время выполнения Использование файлов cookie в действии при использовании HttpClient Сложность при обновлении таблицы SQlite Активность и фрагментация жизненных циклов и изменения ориентации Максимальный размер базы данных SQLite в базе данных Android-приложения? Не удалось создать проект андроида в Mac OS Котлин сложнее переделать, чем java Выход из приложения при нажатии кнопки «Назад» в действии с несколькими фрагментами в «Навигационном ящике» Существует ли приемлемый кросс-платформенный метод для отображения цифровой клавиатуры в стандартных веб-формах на сенсорном устройстве? Значок приложения Android в строке состояния

Анимированная (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>