动画在程序启动时候立即播放

如果直接把动画播放写在oncreate里面或onresume等里面是不行得,这样动画没办法在程序启动的时候立刻播放。

要实现启动时候立即播放还有点特殊。

 

AnimationDrawable am;
 ImageView v;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  // am=(AnimationDrawable)
  // this.getResources().getDrawable(R.anim.start_anim);
  v = (ImageView) findViewById(R.id.startview);
  v.setBackgroundResource(R.anim.start_anim);
  am = (AnimationDrawable) v.getBackground();
  v.getViewTreeObserver().addOnPreDrawListener(opdl);

 }

 OnPreDrawListener opdl = new OnPreDrawListener() {

  @Override
  public boolean onPreDraw() {

   // TODO Auto-generated method stub

   am.start();

   return true;

  }

 };

posted @ 2012-11-05 11:12  乌托邦.  阅读(191)  评论(0编辑  收藏  举报