У меня есть несколько ImageViews
каждая с бесконечно пульсирующим ScaleAnimation
и тремя попытками, которые не имеют смысла для меня.
- Если я установил анимацию сразу после надувания анимации, анимация работает отлично. Это также говорит мне, что моя вспомогательная функция для создания анимации (используется во всех трех случаях) работает нормально.
- Если я установлю анимацию немедленно, но со временем запуска
Long.MAX
и позже вызову icon.getAnimation().start()
, эта анимация запустится, но скорость будет выше, чем должна быть, и масштаб будет не тем, что я установил. Независимо от того, на что я установил масштаб анимации и параметры длительности, он всегда выглядит одинаково, в отличие от предыдущего случая.
- Если я позвоню
icon.startAnimation(..)
с новым Animation
объектом, я не получу анимацию. Копаясь в Android-источник, startAnimation(..)
звонит invalidate()
, в отличие от setAnimation(..)
. Если я звоню icon.getAnimation().start()
, а затем icon.invalidate()
, я получаю такое же (отсутствие) поведения. Это намекает мне на то, что инвалид как-то нарушает анимацию.
Итак, учитывая все вышесказанное, является ли это симптомом ошибки, которую я мог совершить? Есть что-то, чего я не описал, что мне следует делать?
Наконец, я попробовал это с указанием шкалы поворота как относительно, так и неправильно, думая, что может быть ошибка в порядке событий относительно View.invalidate()
и Animation.reset()
.