Coram Deo

[Flutter] 새로 배운 개념들 - SafeArea / EdgeInsets / ListView.builder (shrinkWrap) 본문

Flutter

[Flutter] 새로 배운 개념들 - SafeArea / EdgeInsets / ListView.builder (shrinkWrap)

탁탁슝 2024. 6. 19. 23:32

EdgeInsets.zero

  • 사용목적
  • 다른 Widget과 겹치게 할 때, Widget 안에 ListView를 사용하면, ListView 상단에 의도하지 않은 margin이나 padding이 생겨서 원래 의도했던 것보다 공간이 비어보임.
  •  ListView의 padding에 EdgeInsets.zero를 넣으면 해결된다.

SafeArea class

  • os에 따라 UI가 변형되지 않도록 상황에 따라 패딩을 넣어주는 것 !
  • flutter 공식 문서 설명
  • A widget that insets its child by sufficient padding to avoid intrusions by the operating system.

ListView.builder

  • shrinkWrap 

 

shrinkWrap: true 사용하면 ListView가 필요한 공간만 차지하도록이 동작을 변경할  있습니다

 

ListView.builder(
              shrinkWrap: true,
              itemCount: tasks.length,
              padding: EdgeInsets.zero,
              itemBuilder: (ctx, index) {
                return const Text('home');
              }),

 

출처

- https://velog.io/@sumong/Flutter-ListView-%EC%83%81%EB%8B%A8%EC%97%90-%EC%9D%98%EB%8F%84%ED%95%98%EC%A7%80-%EC%95%8A%EC%9D%80-marginpadding%EC%9D%B4-%EC%83%9D%EA%B8%B0%EB%8A%94-%EA%B2%BD%EC%9A%B0

- https://stcodelab.com/entry/Flutter-플러터에서-shrinkWrap-속성은-무엇을-하는가요 [독학코딩:티스토리]