Flutter(플러터)/UI

위젯 드래그 이동

병홍 2022. 1. 12. 14:39

특정 위젯을 드래그 하여 이동하고 싶을 때, 하기 코드를 참고하세요. 

 

return Positioned(
      top: y,
      left: x,
      child: GestureDetector(
        onPanUpdate: (info) {
          setState(() {
            x += info.delta.dx;
            y += info.delta.dy;
          });
        },
        child: Container(
          width: 100,
          height: 100,
        ),
      ),

GestureDetector 의 onPanUpdate는 자식의 터치하여 움질일 때, 해당 좌표 값을 알려줍니다. 

즉, onPanUpdate로 얻은 좌표 값을 Positioned에 적용하고 화면을 업데이트하면서 위젯이 이동하는 것으로 보여줄 수 있습니다.