2016-08-02 21 views
2

在这里我使用此代码为make规模动画Android的设置视图中的两个动画编程

Animation anim = new ScaleAnimation(1f, 0f, 1f, 0f, b, a); 
anim.setDuration(130); 
anim.setFillAfter(false); 
view.startAnimation(anim); 
anim.start(); 

现在我没有任何问题看法的动画,但是当我添加其他动画添加到其没有任何的动画之一,这是我做两个动画代码规模和翻译

Animation anim = new ScaleAnimation(1f, 0f, 1f, 0f, b, a); 
Animation animT = new TranslateAnimation(0f,b,0f,a); 
anim.setDuration(130); 
animT.setDuration(130); 
anim.setFillAfter(false); 
animT.setFillAfter(false); 
view.startAnimation(anim); 
view.startAnimation(animT); 
anim.start(); 
animT.start(); 

我们可以看到我不能使用动画的同时,双方如何解决它不使用XML animataion因为我的变量改为每次

回答

6

使用AnimationSet如下:

AnimationSet set = new AnimationSet(true); 

Animation anim = new ScaleAnimation(1f, 0f, 1f, 0f, b, a); 
Animation animT = new TranslateAnimation(0f, b, 0f, a); 

set.addAnimation(anim); 
set.addAnimation(animT); 
set.setDuration(130); 

view.startAnimation(set); 
+0

谢谢:) :) – medo

+0

可以更改'新的ScaleAnimation(1f,0f,1f,0f,b,a);'值,同时动画像变化'(1f,0f,1f,0f,b,a)'? – medo

+0

@medo是的,你可以。事实上,如果您使用Android Studio,请在按住Ctrl键的同时单击代码中的“ScaleAnimation”文本。这应该打开文档,它也会告诉你这个类的其他构造函数。 – Shaishav

3

你需要使用AnimationSet,并添加你想要它的任何动画类型 这里有一个例子

Animation fadeIn = new AlphaAnimation(0, 1); 
fadeIn.setDuration(1000); 
Animation fadeOut = new AlphaAnimation(1, 0); 
fadeOut.setStartOffset(1000); 
fadeOut.setDuration(1000); 
AnimationSet animation = new AnimationSet(true); 
animation.addAnimation(fadeIn); 
animation.addAnimation(fadeOut); 
view.startAnimation(animation);