Попытка добавить наложение справки в наше приложение. Этот оверлей является RelativeLayout с полупрозрачным фоном и содержит несколько TextView и несколько дочерних элементов ImageView. Теперь я хочу, чтобы каждый из TextView/ImageView исчезал один за другим.Android Анимация нескольких дочерних видов в серии
Я использую набор анимации затухания (определенный в XML) и вызывая .startAnimation()
на каждом представлении в методеAnimationListener. Таким образом, когда первый просмотр завершен, я вызываю метод startAnimation
на следующем представлении, чтобы быть увязшим. Я использую тот же объект Animation (animationFadeIn), что и аргумент startAnimation всех просмотров. Как так:
...
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
Теперь вот проблема:
- Первого взгляд замирает в
- Второго взгляда выцветает в, но первый вид снова затухает вместе с ним
- То же самое продолжается до тех пор, пока все виды не будут затухающими
Кроме того, как добавить некоторую задержку перед следующим представлением fades-in setStartOffset
?
UPDATE
Я заметил, что если я создать второй объект анимации на
animationFadeIn2 = AnimationUtils.loadAnimation(this.context, R.anim.fadein);
, а затем использовать его для startAnimation другого элемента, то он не создает эту проблему. Итак, я полагаю, должно быть какое-то свойство, которое должно быть установлено на объекте Animation, чтобы избежать этого?
Удачи вам в оптимизации? – CoDe
здесь он идет ... :) http://stackoverflow.com/a/4112620/2624806 помочь очистить анимацию для первого вида. – CoDe