动画完成时获取 animate().translation 回调

Get animate().translation Callback When Animation Is Complete

我环顾四周,主要方法似乎是在对象上设置动画侦听器。但是我已经设置了一个动画侦听器并且动画完成回调不会触发。

你知道当 view.animate().translationY() 完成它的动画时我如何获得回调吗?

root.setLayoutAnimationListener
        (
                new Animation.AnimationListener()
                {
                    @Override
                    public void onAnimationStart(Animation animation)
                    {

                    }

                    @Override
                    public void onAnimationEnd(Animation animation)
                    {
                        closeFragmentAnimationComplete(); //is not called
                    }

                    @Override
                    public void onAnimationRepeat(Animation animation)
                    {

                    }
                }
        );

root.animate().translationY(100);

请尝试:

view.animate().translationY(100).setListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {}

            @Override
            public void onAnimationEnd(Animator animation) {
                closeFragmentAnimationComplete();
            }

            @Override
            public void onAnimationCancel(Animator animation) {}

            @Override
            public void onAnimationRepeat(Animator animation) {}
        });