[flutter/플러터] ListView의 children width 가 컨트롤되지 않는 문제

박민준·2022년 1월 21일
0

매우 기본적이지만 의외로 헷갈릴 수 있는 문제

ListView 위젯의 children에 Container를 넣고 싶다. 야심차게 Container의 width와 height를 다 정해줬는데....?

분명 container의 width를 명시적으로 정해줬는데 이게 웬걸...! width가 화면 전체를 꽉 채운다.

구글링을 해봤을 때 나오는 LimitedBox, SizedBox를 아무리 넣어봐도 전혀 소용이 없다.

아마 ListView의 unbounded한 특성이 반영돼서 children의 width를 어떻게 넣어도 부모 위젯인 ListView를 가득 채우도록 자동 설정되는게 아닌가 한다.

이를 우회적으로 해결하는 여러 방법이 가능하겠지만 내가 찾은 가장 효율적이고 깔끔한 방식을 소개한다. 뭐 정말 별거 아니긴 하지만...

ListView 내부 파라미터에 다행히도 padding이 있다. 그냥 이걸 활용하면 된다.

(허무한 결론...! 하지만 이거 제대로 숙지 안하고 있으면 나중에 ListView로 손쉽게 만들려고 할 때 원치 않는 결과 때문에 좀 헤맬 수가 있다. 잘 숙지해두자!)

profile
코린이

1개의 댓글

comment-user-thumbnail
2023년 8월 4일

padding 으로 어떻게 처리 하셨는지 소스줌 기재해 주시지 ㅠ
플러터로 앱을 제작중에 있는데 초보라 잘 안되네요 ..
전 crossAxisAlignment이걸로 해결 하였는데

padding 으로 어떻게 처리 하셨을까요?

답글 달기