对Android来说是一个很新的东西,我找不到关于如何在动画结束时开始新活动的话题。
这是我的代码:
public class Intro extends Activity {
AnimationDrawable anim = new AnimationDrawable();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intro);
ImageView iv =(ImageView) findViewById(R.id.imageView1);
iv.setBackgroundResource(R.anim.animation);
anim = (AnimationDrawable) iv.getBackground();
iv.post(new Runnable(){
public void run(){
anim.start();
}
});
}
}
最佳答案
据我所知,没有回调机制来确定AnimationDrawable
何时完成迭代。您可以查询帧数和每帧的延迟。总结一下,并在该持续时间内发布一个延迟的帖子。在该回调中,您可以开始第二个活动。
请注意,以动画方式开始动画有点危险。 docs说:
重要的是要注意,不能在Activity的onCreate()方法期间调用在AnimationDrawable上调用的start()方法,因为AnimationDrawable尚未完全附加到窗口。如果您想立即播放动画而不需要交互,那么您可能想从Activity中的onWindowFocusChanged()方法中调用它,当Android将窗口聚焦时,该方法将被调用。