[android] 페이드 애니메이션
페이드 애니메이션
안드로이드 앱에서 뷰를 페이드 인하거나 페이드 아웃하는 효과를 주는 방법은 두 가지가 있습니다.
XML을 사용한 페이드 애니메이션
XML 리소스를 사용하여 애니메이션을 정의하는 방법입니다. res 폴더 내 “anim” 폴더를 생성하고, fade_in.xml과 fade_out.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" />
<!-- fade_out.xml -->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="1000" />
프로그래밍 방식으로 페이드 애니메이션 구현
애니메이션을 직접 제어하려면 코드에서 애니메이션 객체를 생성하고 실행해야 합니다.
// Fade In 애니메이션
AlphaAnimation fadeIn = new AlphaAnimation(0.0f, 1.0f);
fadeIn.setDuration(1000);
view.startAnimation(fadeIn);
// Fade Out 애니메이션
AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0.0f);
fadeOut.setInterpolator(new DecelerateInterpolator());
fadeOut.setDuration(1000);
view.startAnimation(fadeOut);
애니메이션 적용
뷰를 페이드 애니메이션으로 표시하려면 레이아웃 XML 파일이나 Java 코드에서 애니메이션을 설정해야 합니다.
// XML을 통한 애니메이션 적용
view.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_in));
// 프로그래밍 방식으로 애니메이션 적용
Animation fadeOut = new AlphaAnimation(1.0f, 0.0f);
fadeOut.setDuration(1000);
view.startAnimation(fadeOut);
애니메이션을 사용하여 안드로이드 앱의 사용자 경험을 향상시키고, 사용자들의 시선을 끌어 앱의 가시성을 높일 수 있습니다.
참고자료:
- https://developer.android.com/guide/topics/graphics/view-animation
- https://developer.android.com/reference/android/view/animation/Animation