2016-08-02 8 views
2

hier bin ich diesen Code für die Animation make Skala verwendenAndroid setzen zwei Animation auf Ansicht programmatisch

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

jetzt meine Ansicht Animation ohne Problem, aber wenn ich eine andere Animation, um es hinzuzufügen seine hat animieren keine ein und diese mein Code für seine Skala durch zwei Animation und

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(); 

übersetzen, wie wir i sowohl die Animation als gleichzeitig verwenden sehen kippe, wie ich es verwenden xml Animataion ohne, weil meine Variable jedes Mal geändert wurde lösen kann

Antwort

6

Verwenden AnimationSet wie folgt:

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

Ihnen danken :) :) – medo

+0

kann ich 'new ScaleAnimation (1f, 0f, 1f, 0f, b, a) ändern;' Werte während animieren wie Änderung '(1f, 0f, 1f, 0f, b, a)'? – medo

+0

@medo yeah du kannst. In der Tat, wenn Sie in Android Studio sind, klicken Sie auf "ScaleAnimation" Text in Ihrem Code, während Sie die Strg-Taste drücken. Dies sollte das Dokument öffnen und es wird Ihnen auch über andere Konstruktoren der Klasse erzählen. – Shaishav

3

Sie benötigen AnimationSet zu verwenden und hinzufügen, was Animation Typ Sie es wollen hier ist ein Beispiel

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);