[Android] Value-Animator

Twaun·2022년 5월 22일
0

Android

목록 보기
6/24

어떻게 View에 애니메이션 효과를 줄 수 있을까?

value-animator 를 사용해보자!!

사용 방법

1. 선언

ValueAnimator class 는 ofInt, ofFloat 등 으로 범위를 지정하고 duration을 통해 시간을 지정해줍니다.
다음은 500ms 동안 1f 부터 0f 까지 값을 변경하는 animator 입니다.

val fadeOutAnimation : ValueAnimator = ValueAnimator.ofFloat(1f, 0f).apply {
        duration = 500L
    }

2. 리스너

fadeOutAnimation.apply {
            addUpdateListener { animator-> binding.fadeOutImage.alpha = animator.animatedValue as Float }
            doOnEnd {  }
            doOnCancel {  }
            doOnPause { }
            doOnResume {  }
            doOnStart {}
            doOnRepeat {  }
        }

addUpdateListener : animatedValue 를 통해 실시간 value 값을 얻을 수 있다. 이 값을 통해 view의 크기나 alpha 값 등의 변화를 주어 애니메이션 효과를 줄 수 있다.

doOnEnd, doOndStart .. : 해당 애니메이션의 상태 리스너 사용이 가능하다. 앱의 생명주기에 따라서도 상태가 변한다.

3. 제어

fadeOutAnimation.start()
fadeOutAnimation.cancel()
fadeOutAnimation.pause()
fadeOutAnimation.resume()
..

설정이 끝난 해당 애니메이션을 시작, 취소, 멈춤, 다시 시작 등등 제어가 가능하다.

4. 상태

fadeOutAnimation.isRunning
fadeOutAnimation.isPause
fadeOutAnimation.isStarted

현재 상태를 boolean 값으로 확인 가능합니다.

💡 이 외에도 추가적인 설정들이 가능합니다.
https://developer.android.com/reference/android/animation/ValueAnimator

profile
Android Developer

0개의 댓글