2014-10-22 3 views
1

Так что я пытаюсь сделать 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); 

Так как я могу это исправить? Извините, если мое объяснение плохое, мне трудно объяснить все детали, пожалуйста, запросите любую недостающую информацию.

ответ

0

решается с помощью решения на этом посту Android: Using ObjectAnimator to translate a View with fractional values of the View's dimension

не был красив, как я должен был создать индивидуальный перевод X и Y переводить Рез файлы для каждого вида мне нужно двигаться .. в конечном итоге с 15, как Anim файлов. Хотелось бы узнать, есть ли лучшее решение

Смежные вопросы