Jetpack Compose Glimmer의 세로 스택

적용 가능한 XR 기기
이 가이드에서는 이러한 유형의 XR 기기를 위한 환경을 빌드하는 방법을 설명합니다.
디스플레이 안경

Jetpack Compose Glimmer에서 VerticalStack은 시각적으로 겹치는 3차원 시퀀스로 항목을 정렬하는 지연되고 세로로 스크롤 가능한 레이아웃입니다. 기본 항목은 포그라운드에 눈에 띄게 표시되고 후속 항목은 그 뒤에 배치됩니다.

그림 1. Jetpack Compose Glimmer의 다양한 스택 스타일의 예

스크롤 및 위치 지정 동작

스택은 항목을 겹치는 컴팩트한 레이아웃으로 정렬하므로 목록과 같은 다른 유형의 순차적 구성요소와는 다른 동작이 있습니다. 목록과 같은

  • 사용자가 세로로 스크롤하면 활성 포그라운드 항목이 뷰에서 전환되어 바로 아래 항목이 눈에 띄는 포그라운드 위치로 슬라이드됩니다.
  • 항목은 항상 사용자의 동작이 끝난 후 특수 스프링 애니메이션을 사용하여 포그라운드 위치로 스냅 애니메이션됩니다.
  • 항목은 z축을 따라 배치되며 목록에서 더 멀리 있는 항목은 기본 항목 뒤에 배치됩니다.

포커스 관리

VerticalStack은 특수 포커스 시스템을 사용하여 현재 포그라운드 항목이 항상 사용자 상호작용의 기본 타겟이 되도록 합니다.

  • 초기 포커스 및 재진입: 초기 포커스 및 포커스 재진입은 스택의 현재 상단 항목으로 이동합니다.
  • 자동 초점 알림: 항목이 전환되면 스택은 상단 항목에 포커스를 요청합니다.
  • 포커스 추적: 각 항목은 onFocusChanged을 사용하여 StackState에 개별 포커스 상태를 알립니다.

예: 세로 스택 만들기

다음 코드는 몇 개의 카드 항목이 있는 세로 스택을 만듭니다.

@Composable
fun VerticalStackSample() {
    VerticalStack {
        item {
            Card { Text("Top Card") }
        }
        item {
            Card { Text("Second Card") }
        }
        item {
            Card { Text("Third Card") }
        }
    }
}