[android] Navigation transitions slide animation

지금 화면은 왼쪽으로 사라지고, 다음 화면이 오른쪽에서 밀려서 들어오는 애니메이션을 넣고 싶다. 

애니메이션류는 내가 약한 분야라서 기억에 남지않아서 매번 구글링을 해야한다. 

애니메이션부터 찾아봤다. 

출처: https://kylewbanks.com/blog/left-and-right-slide-animations-on-android-activity-or-view

// slide_from_rigth.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="100%p"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:toXDelta="0" />
</set>
// slide_to_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="0"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:toXDelta="-100%p" />
</set>
// slide_from_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="-100%p"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:toXDelta="0" />
</set>
// slide_to_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromXDelta="0"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:toXDelta="100%p" />
</set>

 

그런 다음 Transistion의 Enter, Exit, Pop Enter, Pop Exit가 뭔지부터 알아보자.

출처: https://www.yudiz.com/a-trip-to-androids-future-navigation-architecture-component/

  • Enter: A화면에서 B화면으로 이동할 때, B화면이 사용할 애니메이션. slide_from_right
  • Exit: A화면에서 B화면으로 이동할 때, A화면이 사용할 애니메이션. slide_to_left
  • Pop Enter: B화면에서 A화면으로 돌아올 때, A화면이 사용할 애니메이션. slide_from_left
  • Pop Exit: B화면에서 A화면으로 돌아올 때, B화면이 사용할 애니메이션. slide_to_right

정리를하니 이해가 되는구만 후후