[flutter] getX 함수를 사용하여 위젯의 x 좌표 가져오기

소개

Flutter에서는 getX 함수를 사용하여 위젯의 x 좌표를 쉽게 가져올 수 있습니다. getX 함수는 Flutter의 RenderBox 클래스에 속한 메소드로, 특정 위젯의 상대적인 x 좌표를 반환합니다.

사용법

아래의 예제 코드를 통해 getX 함수를 사용하는 방법을 알아보겠습니다.

import 'package:flutter/material.dart';

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        RenderBox box = context.findRenderObject() as RenderBox;
        double x = box.localToGlobal(Offset.zero).dx;
        print("Widget의 x 좌표: $x");
      },
      child: Container(
        width: 200,
        height: 200,
        color: Colors.blue,
      ),
    );
  }
}

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: Center(
        child: MyWidget(),
      ),
    ),
  ));
}

위의 예제에서는 GestureDetector 위젯의 onTap 콜백에서 getX 함수를 사용하여 현재 위젯의 x 좌표를 가져와서 출력합니다. context.findRenderObject()를 통해 현재 위젯의 렌더 박스를 가져온 후, localToGlobal 메소드를 사용하여 위젯의 좌표를 전역 좌표로 변환한 뒤, x 좌표를 가져옵니다.

참고 자료