在转到另一个活动之前单击完成动画

时间:2013-11-19 11:15:16

标签: android android-animation

我有一个动画,可以在点击图像视图时显示,然后在进入另一个活动之前完成动画。我一直试图这样做。

这是我的代码:

public void myAnimation() 
    AnimationDrawable animation;
    animation = new AnimationDrawable();
    animation.addFrame(
            getResources().getDrawable(R.drawable.large_ring_monotone),
            1000);
    animation.addFrame(getResources()
            .getDrawable(R.drawable.large_ring_eal), 1000);
    animation.addFrame(
            getResources().getDrawable(R.drawable.large_ring_blue), 1000);
    animation.addFrame(
            getResources().getDrawable(R.drawable.large_ring_monotone),
            1000);

    animation.setOneShot(true);
    img_big_2_back.setOnClickListener(new OnClickListener){
    img_big_2_back.setBackgroundDrawable(animation);

        try {
            animation.start();
            Thread.sleep(3000);

        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Intent i1 = new Intent(MAinACtivity.this,SecondActivity.class);
        startActivity(i1);
    });
}

任何人都可以告诉我出错的地方

2 个答案:

答案 0 :(得分:3)

男人,如果你的活动在动画完成之前就被调用了,那么尝试设置动画监听器,你可以在收到动画完成回调后从那里开始活动。

http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html

答案 1 :(得分:1)

首先,为什么代码中有Thread Sleep?这不是等待动画结束的方式。试试this thread的答案。您可以使用this answer

中描述的方法