2012-01-18 145 views
0

如何在動畫結束後開始活動。 我已經在xml中添加了android:oneshot =「true」,但是如何在此動畫停止後開始一個新活動 。我附上了下面的整個代碼。 請讓我知道如何開始新的活動。如何在Android動畫結束後啓動開始活動

package com.appsolut.example.animation; 


    import android.app.Activity; 
    import android.content.Intent; 
    import android.graphics.drawable.AnimationDrawable; 
    import android.os.Bundle; 
    import android.widget.ImageView; 

    public class Animation extends Activity { 

    ImageView animation; 


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


    } 

    @Override 

    public void onWindowFocusChanged (boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
     AnimationDrawable frameAnimation = 
      (AnimationDrawable) animation.getBackground(); 

     if(hasFocus) {   

      frameAnimation.start(); 


     } else { 
      frameAnimation.stop(); 

     } 

    } 


    public void onStart() { 
     { 
      super.onStart(); 

      animation = (ImageView)findViewById(R.id.imageAnimation); 

      animation.setBackgroundResource(R.drawable.animation);  

     } 
    } 
} 

animation.xml

<?xml version="1.0" encoding="utf-8"?> 
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
     android:oneshot="true" > 

     <item android:drawable="@drawable/img00000" android:duration="500" /> 
     <item android:drawable="@drawable/img00001" android:duration="500" /> 
     <item android:drawable="@drawable/img00002" android:duration="500" /> 
     <item android:drawable="@drawable/img00003" android:duration="500" /> 
     <item android:drawable="@drawable/img00004" android:duration="500" /> 
     <item android:drawable="@drawable/img00005" android:duration="500" /> 
     <item android:drawable="@drawable/img00006" android:duration="500" /> 
     <item android:drawable="@drawable/img00007" android:duration="500" /> 
     <item android:drawable="@drawable/img00008" android:duration="500" /> 
     <item android:drawable="@drawable/img00009" android:duration="500" /> 
     <item android:drawable="@drawable/img00010" android:duration="500" /> 

    </animation-list> 
+0

加油的人,至少嘗試不要只問的答案... – JoxTraex 2012-01-18 02:46:25

+0

嗨Mr.JoxTraex,我已經嘗試了許多方法,但它一直崩潰或動畫只是停止了我想附加甚至是代碼,但認爲它會使這個過程變得複雜。我對android中的動畫很陌生,所以需要一段時間,謝謝你的動機,也會這樣做。 – 2012-01-18 11:46:28

回答

2
你的動畫做任何你想要它 onAnimationEnd()方法

使用和AnimationListener

+0

謝謝先生,但是如何在onAnimationStart()中傳遞相同的代碼? – 2012-01-18 21:24:34

+0

你想在動畫開始()上做什麼? – 2012-01-18 23:08:31

+0

您好Mr.dtmilano.I希望它顯示android:duration =「500」的圖像,我還能如何實現它? – 2012-01-20 16:36:15

0

在您的動畫調用之後創建一個新的Intent(來自Intent類)。

意圖myIntent = new Intent(context,newActivity.class); startActivity(myIntent);

上下文可以的getContext()或getBaseContext()

這應該工作。此外不要忘記在AndroidManifest中聲明您的新活動,否則應用程序將崩潰!

希望這有助於。

0

使用hasEnded()方法檢查是否結束,然後如果它已經調用您的意圖打開新的活動。

它應該工作

問候

+0

謝謝斯里蘭卡,但我無法找到應用此解決方案的地方。 – 2012-01-18 21:24:39

相關問題