Вам, вероятно, лучше обернуть содержимое изображения в RotateDrawable
и установить его на ImageView
, а не использовать анимацию. Вы по-прежнему можете анимировать переход, используя простой обработчик для многократного вызова setImageLevel()
для регулировки угла поворота.
Когда придет время заморозить анимацию, просто прекратите публикацию на Handler
, и изображение останется на своем последнем установленном уровне. Затем вы можете перезапустить, если хотите, возобновив сообщения на Handler
.
Другой вариант - создать пользовательский ViewGroup
и использовать getChildStaticTransformation()
, чтобы применить пользовательское преобразование к дочернему элементу ImageView
. Вы все равно будете обрабатывать шаги анимации вручную, так что вы можете запускать / останавливать в любой момент, когда захотите, но Transformation
- это то, что система анимации использует для анимации видов, чтобы вы могли получить результаты ближе к этому эффекту.
НТН