Страницы

Поиск по вопросам

понедельник, 3 февраля 2020 г.

В случае удаления view элемента методом setVisibility(View.GONE) как запустить сначала анимацию

#android #анимация


Имеется метод onTouch, в котором указано, что при касании на view1 под ним появляется
view2, а при следующем касании по view1 view2 скрывается. 

В коде удаление view2 прописано так: view2.setVisibility(View.GONE)

Однако есть еще и анимация ухода view2:

view2.setAnimation(AnimationUtils.makeOutAnimation(this,true));


которая прописана строчкой выше (перед удалением).

По факту все срабатывает так:


view2 удаляется 
анимация показывает, как view2 уезжает вправо.


Т.е., когда view2 уже нет, анимация все еще показывает, как view2 уезжает вправо. 

Дело в том, что при удалении view2, его место занимает другой view, поэтому все выглядит
не очень красиво.

Подскажите, пожалуйста, как сделать, чтобы было так:


анимация показывает, как view2 уезжает вправо
view2 удаляется 

    


Ответы

Ответ 1



Отследите окончание анимации, где измените видимость. Animation anim = AnimationUtils.makeOutAnimation(this, true); anim.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { view.setVisibility(View.GONE); } @Override public void onAnimationRepeat(Animation animation) { } });

Комментариев нет:

Отправить комментарий