[android] 애니메이션 중첩
안드로이드에서 여러 애니메이션을 중첩하여 사용하는 것은 앱에 화면 전환 효과 등을 적용할 때 유용합니다. 이 포스트에서는 Android 앱에서 애니메이션을 중첩하는 방법에 대해 알아보겠습니다.
애니메이션 리소스 작성
애니메이션을 중첩하기 위해서는 먼저 res/anim
디렉토리에 애니메이션 리소스 파일을 작성해야 합니다. 예를 들어, fade_in.xml
과 slide_up.xml
애니메이션을 작성해보겠습니다.
<!-- fade_in.xml -->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1000" />
<!-- slide_up.xml -->
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p"
android:toYDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500" />
</set>
애니메이션 적용
이제 작성한 애니메이션을 뷰나 액티비티 전환에 적용할 수 있습니다. 예를 들어, 액티비티 전환 시 fade_in.xml
로 시작하여 slide_up.xml
을 중첩하는 방법은 다음과 같습니다.
val fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_in)
val slideUpAnimation = AnimationUtils.loadAnimation(this, R.anim.slide_up)
view.startAnimation(fadeInAnimation)
fadeInAnimation.setAnimationListener(object : Animation.AnimationListener {
override fun onAnimationStart(animation: Animation?) {}
override fun onAnimationEnd(animation: Animation?) {
view.startAnimation(slideUpAnimation)
}
override fun onAnimationRepeat(animation: Animation?) {}
})
위 예제는 Kotlin으로 작성된 코드이며, Java로 작성한 경우에도 유사하게 적용할 수 있습니다.
애니메이션을 중첩하여 사용함으로써 사용자 경험을 향상시키고 앱에 동적인 효과를 부여할 수 있습니다.
더 자세한 내용은 안드로이드 개발자 사이트에서 확인할 수 있습니다.