2012-05-06 5 views
3

2つのイメージで2つのアニメーションを作成したいので、2つの条件でしたい:
1.アクティビティの終了後にアニメーションを開始したいので、アニメーションコードをonCreateの下に置くのではなく、onResumeの下に置いてもOKですか?より良い方法がありますか?

2.私はあなたが得るでしょう、あなたの最初のアニメーションに1を設定することができAnimation.AnimationListnerを使用したいと思う... 2番目のアニメーションが最初のアニメーションが終了した後にのみ開始します2つのアニメーションが相次いで

おかげ

答えて

1

をしたいですアニメーションが完了したときのコールバック。そのコールバックの中に、2番目のアニメーションを開始するコードを追加できます。

+0

OK私はそれを試してみますが、私の最初の質問では、onResumeの下にアニメーションコードを置くことはOKですか? – choop

+0

あなたがonResumeが呼び出されるたびにそれが起こりたいと確信している間は、もちろんです。そして、(私はプログラマではないユーザとしてこれを言及しています)、アニメーションの合計時間を非常に長くしません。時間が長すぎると、私はそれを使用するのを待たなければならないように感じ、私はそれを悩ますようになります。 – FoamyGuy

+0

ありがとう、問題を解決! – choop

1

コーディングするAPIレベルによっては、AnimationSetまたはAnimatorSetを使用できます。 Viewまたはそのサブクラスの1つを拡張する場合は、View.onAnimationStart()View.onAnimationFinish()を上書きできます。またはリスナーのTimの言及を使用してください。

+0

ありがとうございました... – choop

0
 public class SplashActivity extends Activity{ 

     Animation FadeInanimation, FadeOutanimation; 
     ImageView img; 

     @Override 
      public void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       img= (ImageView) findViewById(R.id.img); 
       //Your Code Block.... 

       FadeInanimation = AnimationUtils.loadAnimation(this,R.anim.image_fadein); 
       //FadeInanimation.setRepeatCount(Animation.INFINITE); 
       //FadeInanimation.setRepeatMode(Animation.RESTART); 
       FadeInanimation.setAnimationListener(FadeInAnimationListener); 

       FadeOutanimation = AnimationUtils.loadAnimation(this,R.anim.image_fadeout); 
       //FadeOutanimation.setRepeatCount(Animation.INFINITE); 
       //FadeOutanimation.setRepeatMode(Animation.RESTART); 
       FadeOutanimation.setAnimationListener(fadeOutAnimationListener); 

       img.startAnimation(FadeInanimation); 
      } 
    AnimationListener FadeInAnimationListener = new AnimationListener() { 

      @Override 
      public void onAnimationStart(Animation animation) { 
      } 

      @Override 
      public void onAnimationRepeat(Animation animation) { 

      } 

      @Override 
      public void onAnimationEnd(Animation animation) { 
       plane.startAnimation(FadeOutanimation); 
      } 
     }; 
    } 
+1

あなたはアニメーションをonResume()の作品にすることができます。 urアプリケーションがonResumeで起動するたびに、urアニメーションが開始されます。もしあなたのアニメーションをonCreateメソッドに入れたら、最初にあなたのアプリケーションが起動したときに呼び出されます。一時停止モードで、その後あなたのアプリに戻ります。あなたのアニメーションがアニメーションのビーコートを開始していないときにonResumeメソッドを呼び出すonCreateメソッドを書くには –

+0

情報ありがとうございます – choop