AspectRatio
개요
가로세로 비율을 고정합니다. 예를 들어 16:9 비율의 썸네일이나 영상 영역을 확보할 수 있습니다.
속성 (Property)
| 속성 | 설명 | 값 | 기본값 |
|---|---|---|---|
aspectRatio | 위젯의 가로:세로 비율을 이 값(너비÷높이)으로 고정합니다. 크기는 자식 콘텐츠가 아니라 부모가 준 공간을 기준으로 정해집니다(아래 '크기 결정 방식' 참고). | 0보다 큰 숫자 | 1.0 |
크기 결정 방식
AspectRatio는 자식 콘텐츠 크기에 맞추지 않습니다. 부모가 준 레이아웃 공간(제약)을 기준으로 자기 크기를 먼저 정한 뒤, 자식을 그 크기에 맞춰 넣습니다.
- 부모가 주는 최대 너비를 취해 → 높이 = 너비 ÷ 비율
- 너비가 제한 없이 무한하면 → 대신 최대 높이를 취해 너비 = 높이 × 비율
- 계산 결과가 부모 제약을 벗어나면 제약 범위 안으로 다시 맞춥니다.
경고
그래서 Row·Column처럼 한 방향으로 넓은 공간을 주는 부모 안에서는, 자식(예: 텍스트)이 아니라 부모가 허용한 폭만큼 가로가 확장됩니다. 예를 들어 Row 안의 텍스트에 AspectRatio를 적용하면 글자폭이 아니라 Row가 허용한 폭까지 가로가 늘어나고, 그 폭에 비율을 맞춰 높이가 정해집니다. 자식 크기에 맞추려면 부모 쪽에서 폭을 제한하세요(SizedBox·고정 폭으로 감싸거나 Align·Center로 배치).