탐색 3

Navigation 3은 Compose와 함께 작동하도록 설계된 새로운 탐색 라이브러리입니다. 탐색 3을 사용하면 백 스택을 완전히 제어할 수 있으며 대상 간에 이동하는 것은 목록에서 항목을 추가하고 삭제하는 것만큼 간단합니다. 다음을 제공하여 유연한 앱 탐색 시스템을 만듭니다.

  • 백 스택의 각 항목이 사용자가 탐색한 콘텐츠를 나타내는 백 스택 모델링을 위한 규칙
  • 뒤로 스택 변경사항 (애니메이션 포함)에 따라 자동으로 업데이트되는 UI
  • 항목이 백 스택에 있는 동안 상태를 유지할 수 있는 백 스택의 항목 범위
  • 여러 대상을 동시에 표시하고 이러한 레이아웃 간에 원활하게 전환할 수 있는 적응형 레이아웃 시스템
  • 콘텐츠가 상위 레이아웃과 통신하는 메커니즘 (메타데이터)

대략적으로 다음과 같은 방법으로 탐색 3을 구현합니다.

  1. 사용자가 앱에서 이동할 수 있는 콘텐츠를 각각 고유한 키로 정의하고 해당 키를 콘텐츠로 확인하는 함수를 추가합니다. 콘텐츠 키 확인을 참고하세요.
  2. 사용자가 앱을 탐색할 때 키가 푸시되고 삭제되는 백 스택을 만듭니다. 백 스택 만들기를 참고하세요.
  3. NavDisplay를 사용하여 앱의 뒤로 스택을 표시합니다. 뒤로 스택이 변경될 때마다 관련 콘텐츠를 표시하도록 UI가 업데이트됩니다. 뒤 스택 표시를 참고하세요.
  4. 적응형 레이아웃과 다양한 플랫폼을 지원하도록 필요에 따라 NavDisplay장면 전략을 수정합니다.

AOSP에서 Navigation 3의 전체 소스 코드를 확인할 수 있습니다.

Jetpack Navigation 개선사항

Navigation 3은 다음과 같은 방식으로 기존 Jetpack Navigation API를 개선합니다.

  • Compose와의 간단한 통합을 제공합니다.
  • 백 스택을 완전히 제어할 수 있습니다.
  • 백 스택에서 두 개 이상의 대상을 동시에 읽을 수 있는 레이아웃을 만들 수 있으므로 창 크기 및 기타 입력의 변경사항에 적응할 수 있습니다.

이 블로그 게시물에서 Navigation 3의 원칙과 API 설계 옵션에 관해 자세히 알아보세요.

코드 샘플

레시피 저장소에는 탐색 3 구성요소를 사용하여 일반적인 탐색 문제를 해결하는 방법의 예가 포함되어 있습니다.