2012-10-05 2 views
1

Google 도움말에 오버레이를 추가하려고합니다. 이 오버레이는 반투명 배경을 가진 RelativeLayout이며 TextView 하위 요소와 몇 개의 ImageView 하위 요소를 포함합니다. 자, TextView/ImageView 각각을 하나씩 페이드 인 (fade-in)하려고합니다.Android 일련 번호로 여러 하위보기 애니메이션하기

나는 애니메이션에있는 페이드 - 인 세트 (XML에 정의 됨)를 사용하고 있으며, AnimationListener의 OnAnimationEnd 메소드의 각 뷰에 .startAnimation()을 호출하고 있습니다. 첫 번째보기가 페이드 인 (fading-in) 될 때, 다음보기에서 startAnimation 메서드를 페이드 인이라고 부릅니다. 모든 뷰의 startAnimation 인수에 같은 Animation 객체 (animationFadeIn)를 사용하고 있습니다. 그래서 같이 : 들어

... 
Animation animationFadeIn = AnimationUtils.loadAnimation(this.context, R.anim.fadein); 
... 
AnimationListener animationInListener = new AnimationListener(){ 
    @Override 
    public void onAnimationEnd(Animation animation) { 
     animation_activity++; 
     switch(animation_activity) { 
     case SHOW_TEXT_DROP: 
      txtDrop.startAnimation(animationFadeIn); 
      break; 
     case SHOW_TEXT_SEND: 
      txtSend.startAnimation(animationFadeIn); 
      break; 
     case SHOW_IMAGE_TOUCH: 
      imgTouch.startAnimation(animationFadeIn); 
      break; 
     case SHOW_TEXT_DISABLE: 
      txtDisable.startAnimation(animationFadeIn); 
      break; 
     } 
    } 
}; 

페이드 인 애니메이션, 내가 여기서 문제 야, 이제

this tutorial을 참조 :

  • 먼저보기 페이드 인
  • 두 번째보기가 페이드 - 인,하지만 첫 번째보기는 함께 다시 페이드 인합니다.
  • 모든보기가 사라질 때까지 계속됩니다. 페이드 인

다음보기가 사라지기 전에 지연을 추가하려면 어떻게해야합니까? setStartOffset?

UPDATE

나는 내가

animationFadeIn2 = AnimationUtils.loadAnimation(this.context, R.anim.fadein); 

에 의해 두 번째 애니메이션 객체를 만든 다음 다른 요소의 startAnimation을 위해 그것을 사용하는 경우, 다음이 문제를 생성하지 않는 것으로 나타났습니다. 그래서 나는 이것을 피하기 위해 Animation 객체에 설정할 속성이 있어야만한다고 생각합니다.

답변

1

마침내 필자는 각 요소에 대해 여러 개의 애니메이션 개체를 만들었습니다. 그것은 시간 문제에 대한 문제를 해결합니다. 그것은 올바른 최선의 접근 방식이 아닐 수도 있습니다.

+0

최적화를 위해 어떤 행운이 있습니까? – CoDe

+0

여기 있습니다 ... :) http://stackoverflow.com/a/4112620/2624806 첫 번째보기에 애니메이션을 삭제하는 데 도움이됩니다. – CoDe

관련 문제