[android] 애니메이션 리스너

애니메이션을 사용할 때 애니메이션의 상태 변화에 따른 작업을 수행하려면, 애니메이션 리스너 를 사용할 수 있습니다. 애니메이션 리스너는 애니메이션의 시작, 종료, 반복 등 다양한 상태 변화에 대한 이벤트를 처리할 수 있도록 해줍니다.

애니메이션 리스너의 구현

애니메이션 리스너를 구현하려면 다음과 같이 AnimatorListenerAdapter 를 상속받아 구현할 수 있습니다.

private Animator.AnimatorListener mAnimatorListener = new AnimatorListenerAdapter() {
    @Override
    public void onAnimationStart(Animator animation) {
        // 애니메이션이 시작될 때 수행할 작업
    }

    @Override
    public void onAnimationEnd(Animator animation) {
        // 애니메이션이 종료될 때 수행할 작업
    }

    @Override
    public void onAnimationRepeat(Animator animation) {
        // 애니메이션이 반복될 때 수행할 작업
    }

    @Override
    public void onAnimationCancel(Animator animation) {
        // 애니메이션이 취소될 때 수행할 작업
    }
};

애니메이션 리스너의 적용

Animator 객체에 애니메이션 리스너를 적용하려면 다음과 같이 addListener() 메서드를 사용하여 설정할 수 있습니다.

ObjectAnimator anim = ObjectAnimator.ofFloat(view, "translationX", 0f, 100f);
anim.addListener(mAnimatorListener);
anim.start();

위의 예시는 translationX 속성을 이용하여 view를 수평으로 이동하는 애니메이션에 애니메이션 리스너를 적용하는 예시입니다.

애니메이션의 상태 변화에 따른 작업을 처리할 때 애니메이션 리스너를 적절히 활용하여 다양한 기능을 구현할 수 있습니다.

결론

안드로이드에서 애니메이션을 적용할 때, 애니메이션의 상태 변화에 따른 작업을 수행하기 위해 애니메이션 리스너를 구현하고 적용하는 방법을 살펴보았습니다. 애니메이션 리스너를 활용하여 애니메이션을 더욱 동적이고 효과적으로 활용할 수 있습니다.

참고 자료