Так что я пытаюсь сделать 2 анимации одновременно, один для перемещения текстового изображения, и один, чтобы показать linearlayout (также 2 анимации, чтобы скрыть их). У меня есть еще одна анимация, предназначенная для отображения/скрытия отдельного макета. Когда я выполняю показ представления с двумя анимациями, он работает один раз, он скрывает все, но потом не работает снова. Затем, когда я показываю другое представление, он воспроизводит все 3 анимации (не предназначенные). Я не могу понять, почему это происходит? Когда я пытаюсь показать 2 анимации он ничего не делает, но потом, когда я попробовать другой сеанс просмотра его как она была добавлена в очередь и он показывает все 3.Android-анимация работает только один раз?
Мой код для начала две анимации:
LinearLayout layoutMsgs = (LinearLayout)findViewById(R.id.layoutMsgs);
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.msgs_show);
anim.setAnimationListener(new AnimListener(layoutMsgs, View.VISIBLE)); // sets visibility on animation end
layoutMsgs.startAnimation(anim);
TextView tvMsgs = (TextView)findViewById(R.id.tvMsgs);
Animation tvAnim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.tvmsgs_show);
tvMsgs.startAnimation(tvAnim);
Мой код для скрытия две анимации:
LinearLayout layoutMsgs = (LinearLayout)findViewById(R.id.layoutMsgs);
Animation animLayout = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.msgs_hide);
animLayout.setAnimationListener(new AnimListener(layoutMsgs, View.INVISIBLE));
layoutMsgs.startAnimation(animLayout);
TextView tvMsgs = (TextView)findViewById(R.id.tvMsgs);
Animation animMsgs = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.tvmsgs_hide);
tvMsgs.startAnimation(animMsgs);
Тогда это другая анимация, которая работает нормально, это только одна анимация, не TextView, просто макет
LinearLayout pokeLayout = (LinearLayout)findViewById(R.id.layoutPokes);
Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.poke_show);
anim.setAnimationListener(new AnimListener(pokeLayout, View.VISIBLE));
pokeLayout.startAnimation(anim);
Так как я могу это исправить? Извините, если мое объяснение плохое, мне трудно объяснить все детали, пожалуйста, запросите любую недостающую информацию.