Jetpack Compose Glimmer에서 VerticalStack은 시각적으로 겹치는
3차원 시퀀스로 항목을 정렬하는 지연되고 세로로
스크롤 가능한 레이아웃입니다. 기본 항목은 포그라운드에 눈에 띄게 표시되고 후속 항목은 그 뒤에 배치됩니다.
스크롤 및 위치 지정 동작
스택은 항목을 겹치는 컴팩트한 레이아웃으로 정렬하므로 목록과 같은 다른 유형의 순차적 구성요소와는 다른 동작이 있습니다. 목록과 같은
- 사용자가 세로로 스크롤하면 활성 포그라운드 항목이 뷰에서 전환되어 바로 아래 항목이 눈에 띄는 포그라운드 위치로 슬라이드됩니다.
- 항목은 항상 사용자의 동작이 끝난 후 특수 스프링 애니메이션을 사용하여 포그라운드 위치로 스냅 애니메이션됩니다.
- 항목은 z축을 따라 배치되며 목록에서 더 멀리 있는 항목은 기본 항목 뒤에 배치됩니다.
포커스 관리
VerticalStack은 특수 포커스 시스템을 사용하여 현재 포그라운드 항목이 항상 사용자 상호작용의 기본 타겟이 되도록 합니다.
- 초기 포커스 및 재진입: 초기 포커스 및 포커스 재진입은 스택의 현재 상단 항목으로 이동합니다.
- 자동 초점 알림: 항목이 전환되면 스택은 상단 항목에 포커스를 요청합니다.
- 포커스 추적: 각 항목은
onFocusChanged을 사용하여StackState에 개별 포커스 상태를 알립니다.
예: 세로 스택 만들기
다음 코드는 몇 개의 카드 항목이 있는 세로 스택을 만듭니다.
@Composable fun VerticalStackSample() { VerticalStack { item { Card { Text("Top Card") } } item { Card { Text("Second Card") } } item { Card { Text("Third Card") } } } }