2016-07-01 16 views
0

У меня есть проект студии Android с объектами TextSwitcher и ImageSwitcher, которые уже настроены и работают отлично (одновременно). Дело в том, что я хочу, чтобы анимация TextSwitcher была предварительно сформирована, а анимация второго ImageSwitcher (после окончания анимации TextSwitcher). Я попытался добавить AnimationListener в TextSwitcher и изменить образ ImageSwitcher внутри метода onAnimationEnd для AnimationListener, но это не сработало.Целевая анимация TextSwitcher и ImageSwitcher

У кого-нибудь есть идеи? Любая помощь будет принята с благодарностью!

EDIT: сведущих получить Animation слушателю работать, вот фрагмент кода:

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

Есть более короткий путь к цепи на объекты анимации?

+0

Рассмотрим включая код, чтобы обеспечить контекст. См. Http://stackoverflow.com/help/mcve – SoAwesomeMan

ответ

0

Вы должны добавить вторую анимацию в первый обратный вызов анимации. Ниже приведен рабочий код.

$(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>