2012-04-25 36 views
3

我想向一个AnimationSet添加多个翻译动画。我目前正在通过设置一个侦听器到AnimationSet并在方法onAnimationEnd()上执行一个新的AnimationSet来实现这一点(见下文)。这是很多代码,并且想知道这是否可以在一个动画集中完成我可以向一个AnimationSet添加多个翻译动画

任何想法?

view_2_anim_c.setAnimationListener(new AnimationListener() { 

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

     } 

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

     } 

     public void onAnimationEnd(Animation animation) { 
      // TODO Auto-generated method stub 
      apa2.startAnimation(view_2_anim_d); 
      //viewBAnimationD(apa2, 0); 
     } 
    }); 

回答

5

AnimationSet可以有任意数量的动画。如果您希望第二个翻译动画在第一个之后开始,您可以将第二个翻译动画设置为与第一个的持续时间相同。其中一个限制就是您只能在单个视图上执行动画。如果您想要一个视图进行翻译,并在此之后完成了另一个视图,则应使用AnimationListener运行新的动画。

+0

谢谢!如果我有一个动画的组合,像一个旋转,alpha和旋转一样做?你也可以在一个带有startoffset的AnimationSet中做到这一点吗? – user182192 2012-04-25 16:28:50

+0

是的,这将是最简单的方法。你可以让他们同时运行,这一切都取决于你正在寻找的效果。 – Bobbake4 2012-04-25 17:06:07

+0

对于我在单套中进行的移动次数是否有限制? – user182192 2012-04-25 21:48:32