[flutter] getX 함수를 사용하여 터치 이벤트에 따른 원의 크기 변경하기

Flutter에서는 getX 함수를 사용하여 터치 이벤트의 X 좌표 값을 가져올 수 있습니다. 이를 활용하여 원의 크기를 변경하는 예제를 살펴보겠습니다.

1. getX 함수 사용하기

getX 함수는 GestureDetector의 onPanUpdate 콜백 메서드에서 사용될 수 있습니다. onPanUpdate 콜백 메서드는 사용자가 화면에서 손가락을 움직일 때 호출되는 함수입니다.

import 'package:flutter/material.dart';

class MyCircle extends StatefulWidget {
  @override
  _MyCircleState createState() => _MyCircleState();
}

class _MyCircleState extends State<MyCircle> {
  double circleSize = 100.0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Circle Size Changer'),
      ),
      body: Center(
        child: GestureDetector(
          onPanUpdate: (DragUpdateDetails details) {
            setState(() {
              circleSize += details.delta.dx;
            });
          },
          child: Container(
            width: circleSize,
            height: circleSize,
            decoration: BoxDecoration(
              shape: BoxShape.circle,
              color: Colors.blue,
            ),
          ),
        ),
      ),
    );
  }
}

위 코드에서는 GestureDetector를 사용하여 사용자의 터치 동작을 감지하고, onPanUpdate 메서드에서 getX 함수를 사용하여 X 좌표값을 가져와서 원의 크기를 변경하고 있습니다.

2. 실행 결과

위 코드를 작성하고 실행하면, 원을 터치하고 좌우로 움직이면 원의 크기가 변경되는 것을 확인할 수 있습니다.

마무리

이번 포스트에서는 Flutter의 getX 함수를 사용하여 터치 이벤트에 따라 원의 크기를 변경하는 방법에 대해 알아보았습니다. getX 함수를 활용하면 터치 동작을 기반으로 한 다양한 UI 상호작용을 구현할 수 있으므로, 다양한 프로젝트에 적용해보시기 바랍니다.

참고: