2014-12-11 3 views
1

Android에서 이미지보기를 애니메이션화 할 때 문제가 발생했습니다. 기본적으로 내가 ID를 부여 이미지보기를 가지고 : ivEventGuide 내가 노력 코드가 애니메이션 :Android ImageView 애니메이션이 표시되지 않음

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

그래서 내가 뭘하려고 오전 처음으로 나는 다음 애니메이션을 수행합니다 볼에 이미지 뷰를 설정 . 애니메이션이 완료되면 이미지 뷰를 숨기고 다른 방법을 수행합니다. 그러나 이러한 코드를 사용하면 이미지보기가 사라지고 전혀 표시되지 않습니다.

가이드가 있으십니까? 미리 감사드립니다.

답변

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

setVisibility 후에 startAnimation을 호출 해보세요.

+0

왜냐하면 ivEventGuide.setVisibility (View.GONE); 애니메이션이 끝난 후에 만 ​​해당 줄을 실행하는 방법에 대한 아이디어가 있습니까? – hyperfkcb

+0

ivEventGuide.setVisibility (View.GONE)를 호출 해보십시오. 먼저 ivEventGuide.startAnimation (growAndShrink);을 실행하십시오. 그들의 장소를 교환하십시오. – JanBo

+0

고마워요! 나는 해결책을 가지고있다 – hyperfkcb

관련 문제