[flutter] 플러터에서의 스택(Stack) 정렬 방법
플러터(Flutter)에서는 UI 구성 요소를 배치하기 위해 다양한 방법을 제공합니다. 스택(Stack)은 이러한 요소들을 쌓아 올리는 것을 도와주는 매우 유용한 위젯입니다. 스택은 자식 위젯들을 수직 또는 수평으로 정렬할 수 있는데, 이렇게 정렬하는 방법에 대해 알아보겠습니다.
수평 정렬
수평으로 정렬하기 위해서는 Row
위젯을 사용합니다. Row
위젯은 자식 위젯들을 가로로 배열하며, 추가된 순서대로 정렬됩니다.
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, // 자식 위젯들을 균등한 간격으로 정렬
children: [
Text('위젯 1'),
Text('위젯 2'),
Text('위젯 3'),
],
)
위의 예제에서 Row
위젯은 Text
위젯들을 가로로 정렬하고, 각 위젯들은 동일한 간격으로 정렬됩니다.
수직 정렬
수직으로 정렬하기 위해서는 Column
위젯을 사용합니다. Column
위젯은 자식 위젯들을 세로로 배열하며, 추가된 순서대로 정렬됩니다.
Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, // 자식 위젯들을 균등한 간격으로 정렬
children: [
Text('위젯 1'),
Text('위젯 2'),
Text('위젯 3'),
],
)
위의 예제에서 Column
위젯은 Text
위젯들을 세로로 정렬하고, 각 위젯들은 동일한 간격으로 정렬됩니다.
정렬 방식 변경하기
Row
또는 Column
위젯의 mainAxisAlignment
속성을 사용하여 정렬 방식을 변경할 수 있습니다. 주요한 정렬 방식은 다음과 같습니다.
MainAxisAlignment.start
: 시작 부분에 정렬MainAxisAlignment.end
: 끝 부분에 정렬MainAxisAlignment.center
: 가운데에 정렬MainAxisAlignment.spaceBetween
: 자식 위젯들 사이를 균등한 간격으로 정렬MainAxisAlignment.spaceEvenly
: 자식 위젯들을 균등한 간격으로 정렬하되, 양쪽 끝에도 간격을 유지
결론
플러터에서 스택(Stack)을 사용하여 UI 요소들을 수평이나 수직으로 정렬하는 방법을 알아보았습니다. Row
또는 Column
위젯을 사용하여 해당 요소들을 간편하게 정렬할 수 있으며, mainAxisAlignment
속성을 설정하여 다양한 정렬 방식을 선택할 수 있습니다.
더 자세한 내용은 플러터 공식 문서를 참조하시기 바랍니다.