[英]Allow an animation to finish before starting a new activity
我想在切换到新活动之前在图像上执行动画。 我还想确保在新活动开始之前动画已完全完成。 下面是我用来完成任务的代码。
public boolean onTouch(View view, MotionEvent event) {
Animation shake = AnimationUtils.loadAnimation(ViewReadingActivity.this, R.anim.shake);
imgAries.startAnimation(shake);
Intent intent = new Intent(ViewReadingActivity.this, ShowHoroActivity.class);
startActivity(intent);
return true;
}
问题在于动画在呈现新活动之前不会运行完成,并且动画将继续从其离开的位置开始运行。 有没有更好的方法可以做到这一点?
这样使用,您可以拥有动画列表器
shake.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation arg0) {
Intent intent = new Intent(ViewReadingActivity.this, ShowHoroActivity.class);
startActivity(intent);
}
});
为此:1.animation.setAnimationListener(),实现方法2.onanimationend方法,编写代码以开始新的活动
我晚:(
动画侦听器已包含名为onAnimationEnd的方法@在您的imgAries动画侦听器上覆盖它
onAnimationEnd(Animation anim){
//Start you Activity here using Intent
Intent i=new Intent(this,//Your next Activity);
startActivity(i);
}
知道了...现在,您可以转到“动画结束”的“下一个活动”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.