2012-10-27 110 views
2

對於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();   
     } 

     }); 

    } 

} 

回答

2

據我知道有沒有回調機制來確定何時AnimationDrawable已完成迭代。你可以做的是查詢幀的數量和每幀的延遲。總結這一點,並延長這段時間的職位。在這個回調中,你可以開始你的第二個活動。

請注意,以這種方式啓動動畫會有點危險。該docs說:

需要注意的是不能將活動的onCreate()方法中調用呼籲AnimationDrawable的start()方法,因爲AnimationDrawable尚未完全貼在車窗是非常重要的。如果您想要立即播放動畫而不需要交互,那麼您可能需要從Activity中的onWindowFocusChanged()方法調用該動畫,這會在Android將窗口放到焦點上時調用。

+0

感謝quike和fournish的回答。我會睡一會兒,然後發送最後的消息。再次感謝! –

相關問題