我对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();
}
});
}
}
答案 0 :(得分:2)
据我所知,没有回调机制来确定AnimationDrawable
何时完成迭代。你可以做的是查询帧数和每帧的延迟。总结一下这个持续时间的延迟帖子。在该回调中,您可以开始第二项活动。
请注意,以您的方式启动动画有点危险。 docs说:
重要的是要注意,在Activity的onCreate()方法中,无法调用在AnimationDrawable上调用的start()方法,因为AnimationDrawable尚未完全附加到窗口。如果你想立即播放动画而不需要交互,那么你可能想从你的Activity中的onWindowFocusChanged()方法调用它,当Android让你的窗口成为焦点时会调用它。