중앙 정렬과 정렬 위젯
Flitter는 부모 컨테이너 내에서 자식 위젯의 위치를 제어하기 위한 두 가지 주요 위젯을 제공합니다: Center
와 Align
입니다.
Center 위젯
Center
위젯은 자식을 자신의 중앙에 배치합니다. 이는 Align
에 Alignment.center
를 적용한 것의 편리한 축약형입니다.
Center({
child: Text("중앙 정렬된 콘텐츠")
})
Align 위젯
Align
위젯은 지정된 정렬에 따라 자식을 배치합니다. 이는 더 정밀한 위치 제어를 제공합니다.
Align({
alignment: Alignment.topRight,
child: Text("오른쪽 상단 콘텐츠")
})
Alignment 클래스
Alignment
클래스는 다음과 같은 미리 정의된 정렬 상수를 제공합니다:
Alignment.topLeft
- 왼쪽 상단Alignment.topCenter
- 상단 중앙Alignment.topRight
- 오른쪽 상단Alignment.centerLeft
- 왼쪽 중앙Alignment.center
- 중앙Alignment.centerRight
- 오른쪽 중앙Alignment.bottomLeft
- 왼쪽 하단Alignment.bottomCenter
- 하단 중앙Alignment.bottomRight
- 오른쪽 하단
모범 사례
-
적절한 위젯 선택:
- 단순 중앙 정렬에는
Center
사용 - 다른 정렬이 필요할 때는
Align
사용 - 추가 스타일링이 필요한 경우 alignment 속성이 있는
Container
고려
- 단순 중앙 정렬에는
-
부모 크기 고려사항:
- 부모 위젯의 크기가 정의되어 있는지 확인
- 정렬은 부모의 경계를 기준으로 작동함을 인지
-
다른 위젯과의 조합:
- 추가 스타일링을 위해
Container
와 조합 가능 - 겹치는 레이아웃을 위해
Stack
내에서 잘 작동
- 추가 스타일링을 위해
-
성능:
- 중앙 정렬 시
Align
보다Center
선호 - 불필요한 정렬 위젯 중첩 피하기
- 중앙 정렬 시
일반적인 사용 사례
-
중앙 정렬된 콘텐츠:
Container({ color: "lightblue", child: Center({ child: Text("중앙 정렬된 콘텐츠") }) })
-
모서리 위치 지정:
Container({ child: Align({ alignment: Alignment.topRight, child: Text("모서리 콘텐츠") }) })
-
복합 레이아웃:
Stack({ children: [ Center({ child: Text("중앙 콘텐츠") }), Align({ alignment: Alignment.bottomRight, child: Text("하단 오른쪽 콘텐츠") }) ] })
팁과 트릭
-
반응형 정렬:
- 화면 크기에 따라 다른 정렬을 사용하는 것을 고려
- 반응형 레이아웃을 위해
MediaQuery
와 조합
-
정렬 디버깅:
- 정렬 범위를 시각화하기 위해 색상 컨테이너 사용
- 정렬 이해를 위해 디버그용 테두리 추가
-
중첩 정렬:
- 정렬 위젯은 복잡한 레이아웃을 위해 중첩될 수 있음
- 과도한 중첩 피하기 위해 주의