Android在打开应用程序时显示动画,并在完成时将意图发送给主类

Android在打开应用程序时显示动画,并在完成时将意图发送给主类,android,android-intent,android-animation,Android,Android Intent,Android Animation,我想制作一个应用程序,在启动时显示一帧一帧的动画。动画完成后,我想向主类发送一个意图(提醒列表活动)。然而,我似乎找不到如何定义动画何时完成 以下是相关代码: 动画课 public class LoadActivity extends Activity { AnimationDrawable animation; long endTimeMillis; @Override public void onCreate(Bundle savedInstanceState) { sup

我想制作一个应用程序,在启动时显示一帧一帧的动画。动画完成后,我想向主类发送一个意图(提醒列表活动)。然而,我似乎找不到如何定义动画何时完成

以下是相关代码: 动画课

public class LoadActivity extends Activity {

AnimationDrawable animation;
long endTimeMillis;

@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       setContentView(R.layout.load_animation);

       startAnimation();

}

class Starter implements Runnable {
      public void run() {
           animation.start();
       }
   }

   private void startAnimation(){
       animation = new AnimationDrawable();

           animation.addFrame(getResources().getDrawable(R.drawable.dude1), 75);
           //....
           animation.addFrame(getResources().getDrawable(R.drawable.dude10), 75);

       animation.setOneShot(true);

       ImageView imageView = (ImageView) findViewById(R.id.img);

       imageView.setImageDrawable(animation);
       imageView.post(new Starter());

       Intent i = new Intent(LoadActivity.this, ReminderListActivity.class);
       startActivity(i);

   }

}

无法注册要在单拍动画结束时调用的侦听器。作为一种解决方法,您已经知道动画的持续时间,可以在已知延迟后开始活动:

postDelayed(new Runnable() {
    Intent i = new Intent(LoadActivity.this, ReminderListActivity.class);
    startActivity(i);
}, 75 + 75);

实现方式如下:Handler=newhandler();postDelayed(new Runnable(){public void run(){Intent i=new Intent(LoadActivity.this,remenderListActivity.class);startActivity(i);}},2600);它就像一个符咒!谢谢