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 객체에 설정할 속성이 있어야만한다고 생각합니다.
최적화를 위해 어떤 행운이 있습니까? – CoDe
여기 있습니다 ... :) http://stackoverflow.com/a/4112620/2624806 첫 번째보기에 애니메이션을 삭제하는 데 도움이됩니다. – CoDe