Programming/Flutter

[Flutter] ConstrainedBox를 사용하여 SingleChildScrollView full Height 채우기

stein 2022. 3. 17. 22:15
SingleChildScrollView(
  child: ConstrainedBox(
    constraints:
        BoxConstraints(maxHeight: MediaQuery.of(context).size.height),
    child: Column(
      children: [
        Expanded(
          child: GridView.count(
            crossAxisCount: 2,
            children: List.generate(some.length, (index) {
              return Container(
                child: some(index),
              );
            }),
          ),
        ),
      ],
    ),
  ),
);

1. SingleChildScrollView를 지정하고 바로 GridView를 사용하면 height가 지정되지 않아서 화면이 그려지지 않는다.

2. 에러 문구에 shrinkWrap을 사용해보라고 추천한다. 하지만 그렇게 사용하면 scrollview가 full-height에 적용되지 않아 스크롤시, 잘려서 보이는 경우가 생긴다.

3. 따라서 BoxConstraints를 사용하여 maxHeight를 지정해준다. 이때 MediaQuery를 사용하여 화면 size를 가져온다.

4. 화면에 잘 출력된다.

'Programming > Flutter' 카테고리의 다른 글

[Flutter] image full width 채우기  (0) 2022.03.17
[Flutter] overflow 처리하기  (0) 2022.01.28
[Flutter]Flutter 들이박기  (0) 2022.01.15