1

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

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

这样做的问题是动画在新活动出现之前没有运行完成,并且动画将继续从它离开的地方运行。有没有更好的方法来实现这一点?

4

3 回答 3

7

use like this here you can have animation listner

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

    }
});
于 2013-10-10T05:39:14.807 回答
1

这样做: 1. animation.setAnimationListener(),实现方法 2. onanimationend 方法,编写代码来启动一个新的活动

米晚:(

于 2013-10-10T05:41:56.837 回答
1

动画侦听器已经包含名为 onAnimationEnd 的方法 @override 在您的 imgAries 动画侦听器上

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

 }

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

于 2013-10-10T05:50:01.360 回答