1.알아내고 싶은 위젯에 글로벌키를 할당하기위해 글로벌키를 만들어준다
final GlobalKey textKey = GlobalKey();
2.위젯의 키에 글로벌키를 할당한다
key: textKey,
3.사이즈(위치)를 알아내는 함수를 만든다
_getSize(GlobalKey key) {
if (key.currentContext != null) {
final RenderBox renderBox =
key.currentContext!.findRenderObject() as RenderBox;
Size size = renderBox.size;
return size;
}
}
//~~~이건 위치~~
//Offset.zero 즉. 위젯의 좌상단을 기준으로 global 포지션을 구하는 방식
_getPosition(GlobalKey key) {
if (key.currentContext != null) {
final RenderBox renderBox =
key.currentContext!.findRenderObject() as RenderBox;
final position = renderBox.localToGlobal(Offset.zero);
return position;
}
}
4.함수를 실행해서 확인한다
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
textSize = _getSize(textKey);
textWidth = textSize.width;
print('$textWidth무야호');
});
5.결과(사이즈)