2016-07-01 17 views
0

Ich habe ein Android Studio Projekt mit einem TextSwitcher und einem ImageSwitcher Objekte bereits eingerichtet und funktioniert perfekt (gleichzeitig). Die Sache ist, ich möchte zuerst die Animation des TextSwitcher und die Animation des ImageSwitcher zweitens (nachdem die TextSwitcher-Animation beendet ist). Ich habe versucht, dem TextSwitcher einen AnimationsListener hinzuzufügen und das Bild des ImageSwitcher innerhalb der 'onAnimationEnd'-Methode des AnimationsListeners zu ändern, aber es hat nicht funktioniert.Verketten Animation eines TextSwitcher und eines ImageSwitcher

Hat jemand irgendwelche Ideen? Jede Hilfe würde sehr geschätzt werden!

EDIT: manged Animations Zuhörer zu bekommen, zu arbeiten hier ist ein Ausschnitt aus dem Code:

private void loadPosts() { 
     Post post = posts.get(currentPost); 
     //.. 
     Animation outAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_out); 
     outAnimation.setAnimationListener(new NextPostAnimation(post)); 
     textSwitcher.setOutAnimation(outAnimation); 
     textSwitcher.setText("some text"); 

    } 

    private class NextPostAnimation implements Animation.AnimationListener { 
     Post post; 

     NextPostAnimation (Post post) { 
      super(); 
      this.post = post; 
     } 
     @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) { 
      imageSwitcher1.setImageDrawable(new BitmapDrawable(getResources(), post.image1)); 
     } 
    } 

Gibt es einen kürzeren Weg die Objekte Animationen Kette?

+0

Betrachten Sie den Code einschließlich Kontext. Siehe: http://stackoverflow.com/help/mcve – SoAwesomeMan

Antwort

0

Sie sollten die zweite Animation in den ersten Animationsrückruf einfügen. Unten ist funktionierender Code.

$(function(){ 
 
\t $('.textSwitcher').show(1000, function(){ 
 
    \t $('.imageSwitcher').show(1000); 
 
    }); 
 
})
.textSwitcher, .imageSwitcher { 
 
    width: 100px; 
 
    height: 100px; 
 
    display: none; 
 
} 
 
.textSwitcher { 
 
    background: red; 
 
} 
 

 
.imageSwitcher { 
 
    background: blue;  
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="textSwitcher"></div> 
 
<div class="imageSwitcher"></div>