为什么视图动画没有消失

Why view animation is not gone

我是 Android 的新人。我创建了波纹动画来隐藏视图,但是视图没有消失。

Animator anim = ViewAnimationUtils.createCircularReveal(view, 150, 150, 200f, 0f);
anim.start();

我希望动画结束后视图消失。

您需要设置动画的时长

Animator.setDuration(1000)

例如 1000 毫秒

首先,这个动画的正确名称是circular reveal。 您应该将侦听器添加到您的动画并覆盖名为 onAnimationEnd 的方法,然后启动动画。 在 onAnimationEnd 中,您应该设置视图的可见性。

Animator anim = ViewAnimationUtils.createCircularReveal(view, 150, 150, 200f, 0f);

anim.addListener(new AnimatorListenerAdapter() {
    @Override
    public void onAnimationEnd(Animator animation) {
        view.setVisibility(View.INVISIBLE);
    }
});

anim.start();

您需要使用 setAnimationListener

按照这个方法:

Animator anim = ViewAnimationUtils.createCircularReveal(view, 150, 150, 200f, 0f);
anim.setDuration(1000);
anim.start();

anima.setAnimationListener(new AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onAnimationEnd(Animation animation) {
       animation.cancel();
      //hide 
    }
});