Jetpack Navigation은 UI 전환을 쉽게 구현하는데 도움을 주는 라이브러리다. Navigation 에서는 이전 Destination(Fragment)이 포함된 백스택을 자동으로 관리한다. 앱이 실행될 때 첫 화면이 백스택에 배치되고 그 후 Navigate()를 실행시켜 화면을 이동할 때 마다 백스택 맨위에 해당 Fragment가 놓여진다. (LIFO구조)

뒤로가기를 누르게 되면 스택의 맨위의 Fragment를 제거함으로 바로 이전의 Fragment가 호출된다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0ff665b6-36fe-4a8b-87aa-c12cd6c1c7be/__2021-01-24__12.24.23.mov

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1387592e-83b9-4a54-b4d3-bc1b6c305aaf/_2021-01-23__11.56.33.png

애니메이션 처리를 하기 전 좌표를 알아둬야 한다.

             샘플동영상

기본적인 코드는 생략한다. 전체코드는 깃헙에 올려두겠다.

Android Jetpack Navigation Graph Animations 에는 4가지 동작이 있다.

  1. Enter Animations
  2. Exit Animations
  3. Pop Enter Animations
  4. Pop Exit Animations

그림을 통해 쉽게 알아보자.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/45d9d32f-71b7-4568-8eb0-89ba09ba2ce0/_2021-01-24__12.00.18.png

                  그림 1

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/06e4233b-cb5b-456e-88c6-25f656ca16b4/_2021-01-24__12.00.49.png

                      그림 2

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6e5cd397-b822-4812-aea2-e6972990ec5f/_2021-01-24__12.01.46.png

                  그림 3