Android: как я могу остановить бесконечную анимацию, примененную к ImageView? - PullRequest
27 голосов
/ 12 октября 2010

У меня есть ImageView, к которому я применил анимацию поворота.Поскольку я хочу, чтобы вращение продолжалось непрерывно, в моем rotate.xml значение repeatCount задано бесконечным:

android:repeatCount="infinite"

В onCreate () я загружаю анимацию и запускаю ее.

При нажатии кнопки вращение должно прекратиться.Следовательно, в моем onClick () я вызывал clearAnimation ().

objectImg.startAnimation(myAnim); 

Мой простой вопрос - правильная ли остановка анимации.Я предполагаю, что clearAnimation () соответствует loadAnimation (), но нет функции stopAnimation (), которая соответствует startAnimation ().

Ответы [ 3 ]

61 голосов
/ 12 октября 2010

Используйте clearAnimation(), чтобы остановить анимацию.Нет loadAnimation() на View.

35 голосов
/ 13 октября 2010

Вы также можете позвонить anim.cancel();, но вы также должны позвонить anim.reset(); сразу после этого. Затем, когда вы захотите запустить его снова, просто наберите startAnimation в представлении.

1 голос
/ 22 мая 2018

clearAnimation () для View - лучшее решение, оно останавливается и сбрасывает предыдущее состояние просмотра.

...