Имеется метод 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 удаляется
Ответ
Отследите окончание анимации, где измените видимость.
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) {
}
});
Комментариев нет:
Отправить комментарий