繁体   English   中英

在开始新活动之前允许动画完成

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM