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

时间:2013-10-10 05:36:33

标签: android animation

我想在切换到新活动之前在图像上执行动画。我还想确保在新活动开始之前动画完全完成。下面是我用来完成任务的代码。

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;
    }   

这个问题是动画在呈现新活动之前没有运行完成,动画将从它离开的地方继续运行。有没有更好的方法来实现这一目标?

3 个答案:

答案 0 :(得分:7)

在这里使用你可以拥有动画列表器

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 :(得分:1)

这样做:  1. animation.setAnimationListener(),实现方法  2. onanimationend方法,在代码中写入以启动新活动

迟到了:(

答案 2 :(得分:1)

动画侦听器已经包含名为onAnimationEnd的方法@override on your imgAries动画听众

onAnimationEnd(Animation anim){
//Start you Activity here using Intent
Intent i=new Intent(this,//Your next Activity);
startActivity(i);

 }

它...现在你可以去动画结束的下一个活动... Thks