动画结束后如何执行另一个动作? - Java

How can I implement another action after the animation has ended? - Java

有人能帮忙吗? ================================================ === 我这样试过:

Animation zoom, zoom_out;


zoomAnimation();
private void zoomAnimation() {
        zoom= AnimationUtils.loadAnimation(this,R.anim.fast_zoomin);
        avatar.startAnimation(zoom);
 
        //question
        if (zoom.hasEnded()){
            zoomoutAnimation();
        }
        //question

    }

    private void zoomoutAnimation() {
        zoom_out= AnimationUtils.loadAnimation(this,R.anim.fast_zoomout);
        avatar.startAnimation(zoom_out);
    }

我不确定我是否正确理解了问题。 但我认为你只需要添加一个模块。当动画结束时,对象仍然存在,所以你可以用一个intent-filter连接一个动作。 希望能帮到你

我这样做是为了在动画开始时,经过的秒数与动画持续的秒数完全相同,之后另一个动作将开始(Handler 方法的 C 帮助)。

private void zoomAnimation() {
        zoom = AnimationUtils.loadAnimation(this,R.anim.fast_zoomin);
        zoom_out = AnimationUtils.loadAnimation(this,R.anim.fast_zoomout);
        avatar.startAnimation(zoom);

        if (!zoom.hasStarted()){
            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                public void run() {
                    avatar.startAnimation(zoom_out);
                }
            }, 1500); //seconds after which another action will start when
                      //condition that the first one started
        }

    }