当我完成我的活动时,我应该使用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 回答