대화상자 대상

이 문서에서는 대화상자 대상을 사용할 때 백 스택을 관리하는 방법에 관한 고유한 고려사항을 도입하는 방법을 설명합니다.

개요

하나 이상의 대화상자 대상은 백 스택의 맨 위에만 있을 수 있습니다. 그 이유는 사용자가 대화상자 대상이 아닌 대상으로 이동할 때 NavController가 스택 상단에서 모든 대화상자 대상을 자동으로 팝하기 때문입니다. 이렇게 하면 현재 대상이 백 스택의 다른 대상 위에 항상 완전히 표시됩니다.

대상은 호스팅된 대상, 활동 대상 또는 대화상자 대상일 수 있습니다.

백 스택이 탐색 호스트를 채우는 호스팅된 대상으로만 구성되어 있고 사용자가 대화상자 대상으로 이동하는 경우 백 스택은 그림 2와 같을 수 있습니다.

상단에 대화상자 대상이 있는 백 스택
그림 2. 상단에 대화상자 대상이 있는 백 스택

그런 다음 사용자가 다른 대화상자 대상으로 이동하면 그림 3과 같이 백 스택 상단에 추가됩니다.

상단에 두 개의 대화상자 대상이 있는 백 스택
그림 3. 상단에 두 개의 Dialog 대상이 있는 백 스택

그런 다음 사용자가 플로팅이 아닌 대상으로 이동하면 대화상자 대상이 먼저 백 스택 상단에서 팝된 후 새 대상으로 이동합니다(그림 4 참고).

대화상자 대상이 팝되고 새 대상이 추가됨
그림 4. Dialog 대상이 팝되고 새 대상이 추가됨