2013-03-13 83 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