2013年4月28日日曜日

[Android]onAnimationEndの呼ばれるとき

アニメーションの終了時に何か処理をしたい場合はAnimation.AnimationListenerのonAnimationEndを使うと思いますが、onAnimationEnd()はアニメーションの終了時以外でも以下のタイミングで呼ばれるみたいです。

Animation.cancel()が呼ばれたとき

Animation.cancel()が呼ばれるとAnimationListenerに通知が飛び、onAnimationEnd()が呼ばれます。

View.clearAnimation()が呼ばれたとき

リファレンスにはclearAnimationを呼ぶとAnimationがキャンセルされるという事だけ書いてありますが、おそらくそのキャンセルの中で上記のAnimation.cancelが呼ばれているのか、ここでもonAnimationEndが呼ばれるようです。

上記のタイミングでonAnimationEndが呼ばれたくないのであれば、事前にAnimationListenerを解除しておく必要がありそうです。


0 件のコメント:

コメントを投稿