Stack
Stack(스택) 위젯은 자식 위젯들을 같은 위치에 겹쳐 쌓는 레이아웃 컨테이너입니다.
배경 위에 다른 요소를 올리거나, 특정 위치에 요소를 절대 배치할 때 사용합니다.
정의 / 역할
Stack 위젯은 여러 자식 위젯을 z축(앞뒤) 방향으로 겹쳐 배치합니다. 위치를 지정하지 않은 자식은 alignment 기준으로 겹쳐 정렬되고, 개별 자식에 절대 위치(위·왼쪽·오른쪽·아래)를 지정하면 그 위치에 고정됩니다.
- 카테고리: Layouts (레이아웃)
- 팔레트에서 끌어다 놓으면 기본 200×200 크기의 영역으로 생성됩니다.
기능
| 기능 | 설명 |
|---|---|
| 자식 겹치기 | 여러 자식 위젯을 같은 영역에 z축 순서로 겹쳐 쌓습니다. |
| 절대 위치 배치 | 개별 자식에 위·왼쪽·오른쪽·아래 값을 지정해 원하는 위치에 고정합니다. |
| 정렬 기준 | 위치를 지정하지 않은 자식을 alignment 기준으로 정렬합니다. |
| 크기 맞춤 | fit으로 위치를 지정하지 않은 자식이 Stack 크기에 맞춰지는 방식을 설정합니다. |
| 넘침 처리 | clipBehavior로 Stack 영역을 벗어난 자식의 잘림 방식을 설정합니다. |
사용 방법
- 왼쪽 위젯 팔레트에서 Layouts 카테고리를 엽니다.
- Stack 항목을 캔버스로 끌어다 놓습니다.
- Stack 안에 겹쳐 배치할 자식 위젯들을 끌어다 놓습니다.
- 자식을 선택해 절대 위치(위·왼쪽·오른쪽·아래)를 지정하거나,
alignment로 정렬 기준을 설정합니다. - 필요하면
fit·clipBehavior값을 조정합니다.
속성 (Property)
| 속성 | 설명 | 기본값 | 값 / 타입 |
|---|---|---|---|
alignment | 위치를 지정하지 않은 자식(및 일부만 지정된 자식)의 정렬 기준 | 좌상단(topStart) | 정렬 값 |
textDirection | 정렬·위치 계산에 사용할 텍스트 방향 | 미지정 | rtl, ltr |
fit | 위치를 지정하지 않은 자식이 Stack 크기에 맞춰지는 방식 | loose | loose, expand, passthrough |
clipBehavior | Stack 영역을 벗어난 자식의 잘림 방식 | hardEdge | none, hardEdge, antiAlias, antiAliasWithSaveLayer |
주의 / 팁
팁
자식에 위치를 지정하지 않으면 alignment 기준으로 겹쳐 배치됩니다. 특정 자식만 원하는 곳에 두려면 그 자식에 절대 위치(위·왼쪽·오른쪽·아래)를 지정하면 됩니다.
경고
fit을 expand로 두면 위치를 지정하지 않은 자식이 Stack 전체 크기로 늘어납니다. 자식이 의도보다 크게 보인다면 fit 값을 확인하세요.
더 알아보기
팁
이 위젯을 스크립트로 제어하는 Widget Control(Property·Method·Event) 전체는 Stack (스택) Widget Control 문서에서 확인하세요.