overridePendingTransition 를 활용하면
위처럼 액티비티 시작, 종료 시에 애니메이션을 추가할 수 있다.
overridePendingTransition(나타나는 화면에 적용할 애니메이션, 기존 화면에 적용할 애니메이션)
의 형태로 사용한다.
위와 같이 새로운 액티비티가 띄워 질 때
onCreate에서 처음 인자로 vertical_enter, 두 번째 인자로 none을 넣어주게 되면
기존의 화면은 가만히 있고 새로운 액티비티만 밑에서 올라오는 애니메이션을 추가할 수 있다.
또한 반대로 액티비티가 종료될 때
반대로 처음 인자에 none, 두 번째 인자에 vertical_exit를 넣어줌으로써
기존 화면을 밑으로 내리고, 새로 보여지는 액티비티는 가만히 있는 애니메이션을 추가할 수 있다.
예제에서 사용된 애니메이션 코드는 다음과 같다.
vertical_enter
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromYDelta="100%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toYDelta="0%" />
</set>
vertical_exit
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromYDelta="0%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toYDelta="100%" />
</set>
none
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
전체 코드
https://github.com/HanYeop/AndroidStudio-Practice2/tree/master/NavigationEx2