자신 만의 .xml 애니메이션 파일 을 만들어 새 애니메이션 을 페이드 Activity
인하 고 현재 페이드 아웃 할 수 있습니다 Activity
.
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<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="500" />
fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="500" />
다음과 같은 코드에서 사용하십시오. (Inside your Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class)
startActivity(i)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
위의 코드는 현재 활성 상태 Activity
를 페이드 아웃하고 새로 시작된 페이드 Activity
인하여 부드러운 전환을 제공합니다.
업데이트 : @Dan J는 내장 된 Android 애니메이션을 사용 하면 성능이 향상 된다는 점을 지적했습니다 . 내장 애니메이션으로 작업하려면 다음을 사용하십시오.
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
리소스 ID에 액세스하는 android.R
대신 참조를 참조 R
하십시오.
업데이트 : 이제 API 레벨 19에 도입 된 Transition 클래스를 사용하여 전환 을 수행하는 것이 일반적 입니다.
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
이러한 파일을 보면 사용자 정의 애니메이션을 개선하는 방법에 대한 힌트를 얻을 수 있습니다 (예 : 페이드 아웃이 페이드 아웃보다 오래 지속되도록 함).