2013-03-13 84 views
0

我在android中爲兩個按鈕創建一個動畫。按鈕1從屏幕的底部中心向屏幕中心垂直向上移動(比如2秒)。一旦到達那裏,圖像應該在那裏持續2秒。然後當第一個按鈕仍然存在時,第二個圖像從屏幕的center_right側移動到屏幕的center_left側。可以請某個人告訴我如何使第一個圖像在屏幕上出現一段時間。以下是我的代碼:動畫完成後,android中的動畫暫停圖像?

R.anim.alpha

<?xml version="1.0" encoding="utf-8"?> 
    <set xmlns:android="http://schemas.android.com/apk/res/android"> 
     <translate 
      android:fromYDelta="200%p" 
      android:toYDelta="-11%p" 
      android:duration="3000" 
      android:repeatCount="infinite" 
      /> 
    </set> 

R.anim.anim_card

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="600%" 
    android:toXDelta="-100%" 
    android:repeatCount="infinite" 
    android:duration="4000" 
    android:fillAfter="true" 
    /> 
</set> 

而且在Java代碼:

Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha); 
    a.reset(); 
    _image.clearAnimation(); 
    _image.startAnimation(a); 

    Animation b =AnimationUtils.loadAnimation(this, R.anim.anim_card); 
      b.reset(); 
      btn_card.clearAnimation(); 
      btn_card.startAnimation(b); 

回答

0

你將不得不使用AnimationListener爲:

Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha); 
a.reset(); 
_image.clearAnimation(); 
_image.startAnimation(a); 

Animation b =AnimationUtils.loadAnimation(this, R.anim.anim_card); 
b.reset(); 

a.setAnimationListener(new AnimationListener() { 

      @Override 
      public void onAnimationStart(Animation animation) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onAnimationRepeat(Animation animation) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onAnimationEnd(Animation animation) { 
       // TODO Auto-generated method stub 
      btn_card.clearAnimation(); 
      btn_card.startAnimation(b); 
      } 
     }); 

希望它能幫助。

+0

它不工作@ TheReader.The第一個按鈕繼續動畫,但第二個按鈕現在不做任何動畫。我提到android:repeatCount =「無限」。一旦第一個按鈕到達中心,它應該等待那裏一段時間(它應該保持在屏幕上)。此時第二個動畫應該在button1在屏幕上(在中心處)時開始。我很抱歉如果我無法解釋場景:( – Joyson 2013-03-13 10:32:10

+0

@Joyson好吧..什麼應該在第二次動畫結束後發生? – 2013-03-13 10:44:18

+0

第一次動畫繼續,接着第二次。 – Joyson 2013-03-13 11:59:10