[flutter] 위젯의 사이즈,위치 알아내기

박망키·2022년 7월 20일
0

Flutter 야금야금 먹기

목록 보기
54/97
post-custom-banner

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.결과(사이즈)

profile
무럭무럭 자라는 망키
post-custom-banner

0개의 댓글