1

Ich habe 4 Bilder für die Animation wie translate.Aber ich möchte sie zur gleichen Zeit animieren.Nein sollte nicht vor oder nach einem anderen beginnen.Wenn ich das unten tun Code, es beginnt nicht zur gleichen Zeit. Jemand kann mir helfen?Animation für 4 verschiedene Bilder zur gleichen Zeit in Android

Animation anim=AnimationUtils.loadAnimation(getActivity(), R.anim.translate); 

ImageView image1=myView.findViewById(R.id.img1); 
ImageView image2=myView.findViewById(R.id.img2); 
ImageView image3=myView.findViewById(R.id.img3); 
ImageView image4=myView.findViewById(R.id.img4); 

image1.startAnimation(anim); 
image2.startAnimation(anim); 
image3.startAnimation(anim); 
image4.startAnimation(anim); 
+0

Verwenden Sie einen 'ObjectAnimator' /' ValueAnimator' dann oder nur 'AnimatorSet' – pskink

+0

http://Stackoverflow.com/a/10606835/903469 – MKJParekh

+0

@sunilsunny Nope. Warum? In dieser Antwort wird Link für AnimatorSet angegeben und Sie selbst haben das gleiche in Ihrer Antwort verwendet und mich gefragt, ob ich den Kommentar überprüft habe oder nicht? Erwachsen werden.! – MKJParekh

Antwort

1

Sie könnten versuchen, die OnAnimationStart für die Animation überschreiben und im Inneren gibt die nächste Animation zu starten. So etwas wie das:

int counter = 0; 
image1.startAnimation(anim);  


anim.setListener(new AnimatorListenerAdapter() { 
    @Override 
    public void onAnimationStart(Animator animation) { 
     switch(counter){ 
      case 0: image2.startAnimation(anim); 
       counter++; 
       break; 
      case 1: image3.startAnimation(anim); 
       counter++; 
       break; 
      case 2: image4.startAnimation(anim); 
       counter++; 
     } 
    } 
image1.startAnimation(anim); 

und den Zähler jedes Mal inkrementieren, damit es eine andere Animation startet. Es ist ein bisschen wie ein Jimmy-Rig, aber es ist der einfachste Weg, wie ich es mir vorstellen kann.