2014-12-11 3 views
1

У меня возникла проблема при попытке анимации изображения в Android. В основном я получил вид изображения, который отводился ID: ivEventGuide и коды, где я пытался оживить его:Android ImageView Animation не отображается

ivEventGuide.setVisibility(View.VISIBLE); 
      final float growTo = 0.8f; 
      final long duration = 1200; 

      ScaleAnimation grow = new ScaleAnimation(1, growTo, 1, growTo, 
        Animation.RELATIVE_TO_SELF, 0.5f, 
        Animation.RELATIVE_TO_SELF, 0.5f); 
      grow.setDuration(duration/2); 
      ScaleAnimation shrink = new ScaleAnimation(growTo, 1, growTo, 
        1, Animation.RELATIVE_TO_SELF, 0.5f, 
        Animation.RELATIVE_TO_SELF, 0.5f); 
      shrink.setDuration(duration/2); 
      shrink.setStartOffset(duration/2); 
      AnimationSet growAndShrink = new AnimationSet(true); 
      growAndShrink.setInterpolator(new LinearInterpolator()); 
      growAndShrink.addAnimation(grow); 
      growAndShrink.addAnimation(shrink); 
      ivEventGuide.startAnimation(growAndShrink); 

      ivEventGuide.setVisibility(View.GONE); 

Так что я пытаюсь сделать, это первый я поставил ImageView к видимым, то он будет выполнять анимацию , После завершения анимации я скрываю представление изображения и выполняю некоторые другие методы. Но с этими кодами изображение просто исчезает и вообще не отображается.

Любые руководства? Заранее спасибо.

ответ

2

Вы должны прислушаться к завершению анимации, прежде чем установить видимость на GONE.

shrink.setAnimationListener(new AnimationListener() { 
      public void onAnimationStart(Animation anim) {} 

      public void onAnimationRepeat(Animation anim) {} 

      public void onAnimationEnd(Animation anim) { 
       ivEventGuide.setVisibility(View.GONE); 
      } 
}; 
+0

Спасибо! Он работал сейчас! – hyperfkcb

+0

Отлично, рад, что это помогло :) –

0

Попробуйте вызвать startAnimation после setVisibility.

+0

Его из-за ivEventGuide.setVisibility (View.GONE); Есть ли у вас идеи, как выполнить эту строку только после окончания анимации? – hyperfkcb

+0

Попробуйте вызвать ivEventGuide.setVisibility (View.GONE); сначала, а затем ivEventGuide.startAnimation (growAndShrink) ;. Поменяйте местами. – JanBo

+0

Спасибо! У меня есть решение – hyperfkcb

Смежные вопросы