본문 바로가기
flutter

Flutter[플러터] / Wrap 을 사용하여 반응형으로 정렬하기 (유동적 레이아웃) Wrap (Flutter Widget of the Week)

by ch5c 2025. 4. 22.
반응형

Wrap class

자식 위젯을 여러 개의 수평 또는 수직 방향으로 표시하는 위젯입니다.

 

Wrap 은 각 자식 요소를 배치하고, direction 에 따라 주어진 주축에서 이전 자식 요소와 인접하게 배치합니다. 이때 자식 요소 사이에는 간격을 둡니다. 자식 요소를 배치할 공간이 충분하지 않으면 Wrap 은 교차축에서 기존 자식 요소 옆에  런을 생성합니다.

모든 자식이 런에 할당된 후, 런 내의 자식은 주축의 정렬과 교차축의 crossAxisAlignment 따라 배치됩니다.

그런 다음 런 자체는 runSpacing  runAlignment 에 따라 교차 축에 배치됩니다.

 

https://www.youtube.com/watch?v=z5iw2SeFx2M

 

공식 문서 코드

 


Wrap 은 반응형 정렬하는 것에 있어서 굉장히 편하게 만들어주는 위젯이다.

위의 다트패드 중앙에 있는 구분선을 움직여 보자.

 

크기를 줄이면 그에 맞게 배치가 달라질 것이다.

 

솔직히 공식 예제로 왜 이렇게 만들어 놨는지 모르겠다;; 좀 더 예쁘게 꾸며 놓지

 

암튼 사용하는 데에 있어서 상위 위젯에 대한 제약 같은 건 없는 편이고 사용할 때에는 하위 속성으로 children 을 사용한다는 정도만 알고 있으면 될 듯하다. 그래도 하위 속성은 알아야 하기 때문에 한번 알아보자.

하위 속성

 

속성명 타입 기본값 설명
direction Axis Axis.horizontal 자식 위젯들이 나열될 주 축 방향
alignment WrapAlignment WrapAlignment.start 한 줄 내 자식들의 정렬 방식
spacing double 0.0 한 줄 내 자식들 간 간격
runAlignment WrapAlignment WrapAlignment.start 여러 줄 간의 정렬 방식
runSpacing double 0.0 줄 간 간격
crossAxisAlignment WrapCrossAlignment WrapCrossAlignment.start 한 줄 내 자식들의 정렬 방식
textDirection TextDirection? (null) 텍스트 방향 및 start, end 해석에 사용됨. 일부 정렬 옵션 시 필수
verticalDirection VerticalDirection VerticalDirection.down 줄 또는 자식들이 배치되는 수직 방향
clipBehavior Clip Clip.none 자식 위젯들을 어떻게 클립할지 설정

 

정렬 간격과 방식을 수정할 수 있으니 참고하도록 하자. 그리고 clipBehavior 도 있는 것이 사용에 용이할 것 같다.

 

암튼 오늘은 이렇게 Wrap 에 대해서 알아보았다. 사람들 중에 이거 웨럽(?) 워럽(?) 이렇게 읽는 사람 있던데 그냥 랩이다. 음 발음에 유의하도록 하고 도움이 되었길 바라며 마치겠다.

반응형
반응형