Android 如何取消动画,但不结束它?
我班上有一个Android 如何取消动画,但不结束它?,android,android-animation,translate-animation,Android,Android Animation,Translate Animation,我班上有一个TranslateAnimation。动画将自动启动 我设置按钮,如果单击它,动画将被取消(animation.cancel();) 我还为我的班级设置了一个AnimationListener。如果动画结束,我将开始一个新的活动(您转到菜单) 我的应用程序依赖于用户必须在动画结束前单击按钮。 问题是animation.cancel()允许作为动画的结尾 如何以未计为动画结束的其他方式取消动画?可能吗 提前谢谢 animation.cancel()正在调用动画侦听器,调用方式为: 取消
TranslateAnimation
。动画将自动启动
我设置按钮,如果单击它,动画将被取消(animation.cancel();
)
我还为我的班级设置了一个AnimationListener。如果动画结束,我将开始一个新的活动(您转到菜单)
我的应用程序依赖于用户必须在动画结束前单击按钮。
问题是animation.cancel()代码>允许作为动画的结尾
如何以未计为动画结束的其他方式取消动画?可能吗
提前谢谢 animation.cancel()正在调用动画侦听器,调用方式为:
取消动画将调用动画侦听器(如果已设置),以
通知动画结束。如果手动取消动画,
在再次启动动画之前,必须调用reset()
如果您想在cancel()和onAnimationEnd()上有不同的行为,我建议使用一个布尔变量,可以在单击按钮时设置,onAnimationEnd会检查它是否为真。一旦取消动画,您可以删除侦听器,从而防止调用onAnimationEnd
:
@Override
public void onAnimationCancel(Animator animation) {
animation.removeAllListeners();
}
下次链接到文档!好办法!但是,animation.removeListener(此)
将阻止您删除可能要侦听cancel/animationEnd events.thaaaanks的其他侦听器。你救了我的命;)
@Override
public void onAnimationCancel(Animator animation) {
animation.removeAllListeners();
}