当我完成我的活动时,我应该使用clearAnimation()
或stop()
放在任何剩余的AnimationDrawable
物体上吗?
问问题
6817 次
1 回答
4
stop()
停止动画,仅此而已。由于 stop() 是一种方法,AnimationDrawable.class
因此您可以在要停止 的动画时使用它AnimationDrawable
,但不能在任何视图上使用它。
clearAnimation()
是的方法View.class
。它将停止视图的动画,此外:
如果有
AnimationListener
定义,AnimationListener.onAnimationEnd(Animation animation)
就会被调用。如果有
Handler
定义Handler.postAtFrontOfQueue(Runnable r)
将被调用。
这是调用层次结构:
View.clearAnimation()
-> Animation.detach()
->Animation.fireAnimationEnd()
和fireAnimationEnd()
方法:
private void fireAnimationEnd() {
if (mListener != null) {
if (mListenerHandler == null) mListener.onAnimationEnd(this);
else mListenerHandler.postAtFrontOfQueue(mOnEnd);
}
}
于 2019-01-31T11:41:27.043 回答