위젯의 사이즈(높이, 너비)가 필요할 때 GlobalKey를 사용해 왔었는데,
LayoutBuilder로 좀 더 간단하게 사이즈를 구할 수 있었다. (혹시 모를 GlobalKey duplicate 에러도 방지)
화면이 그려진 후에 return 하는 위젯의 context를 가져올 수 있기 때문에 addPostFrameCallback() 안에서 사이즈 구하는 로직 실행
return Scaffold(
appBar: AppBar(),
body: Center(
child: LayoutBuilder(
builder: (context, constraints) {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
print("Container height : ${context.size?.height}");
print("Container width : ${context.size?.width}");
});
return Container(
height: deviceSize.height / 5.5,
width: deviceSize.width / 3.5,
color: Colors.deepPurpleAccent,
);
},
),
),
);
'FLUTTER' 카테고리의 다른 글
[FLUTTER] 스크롤 시 이미지 크기 상호작용하는 UI 만들기 (0) | 2025.01.28 |
---|---|
[FLUTTER] TextInputAction.next 시 원치 않는 포커스 스킵 방법 (TextField의 suffixIcon) (0) | 2023.06.28 |
[FLUTTER] showModalBottomSheet 자식 위젯으로 인해 드래그로 닫을 수 없을 때 해결법 (0) | 2023.06.23 |
[FLUTTER] Widget - Container (0) | 2022.09.11 |