GestureDetector
위젯은 Flutter에서 제스처를 감지하고 처리하기 위한 유용한 위젯입니다. 이 위젯을 사용하면 사용자의 터치 제스처나 다른 상호 작용을 감지하고 이벤트를 처리할 수 있습니다. GestureDetector
는 다양한 제스처를 감지하고 이벤트 처리를 위해 콜백 함수를 등록할 수 있습니다.
GestureDetector
위젯의 중요한 속성 및 기능은 다음과 같습니다:
onTap
: 사용자가 위젯을 탭할 때 실행할 콜백 함수를 정의합니다. 이를 통해 단일 탭 제스처를 처리할 수 있습니다.onDoubleTap
: 사용자가 위젯을 더블 탭할 때 실행할 콜백 함수를 정의합니다.onLongPress
: 사용자가 위젯을 길게 누르고 있을 때 실행할 콜백 함수를 정의합니다.onPan
: 드래그 또는 스와이프와 같은 제스처를 처리하는 데 사용됩니다. onPan
콜백 함수를 정의하여 이벤트를 처리할 수 있습니다.onScale
: 사용자의 핀치 제스처(두 손가락으로 확대 또는 축소)를 처리하는 데 사용됩니다.onVerticalDrag
, onHorizontalDrag
: 수직 및 수평 드래그 제스처를 처리하는 데 사용됩니다.child
: GestureDetector
가 제스처를 감지할 위젯을 포함하는데 사용됩니다. 일반적으로 GestureDetector
는 하나의 자식 위젯만을 가집니다.void _onScaffoldTap() {
FocusScope.of(context).unfocus();
}
GestureDetector(
onTap: _onScaffoldTap,
child: Scaffold(
appBar: AppBar(
title: const Text(
'Sign up',
),
),
body: Padding(
padding: const EdgeInsets.symmetric(horizontal: Sizes.size36),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Gaps.v40,
const Text(
'What is your email?',
style: TextStyle(
fontSize: Sizes.size24,
fontWeight: FontWeight.w700,
),
),
Gaps.v16,
다음과 같이 Scaffold
Widget을 GestureDetector
Widget으로 감싼 다음에 FocusScope.of(context).unfocus();
익명함수를 주어서 키보드를 비활성화 시키는 방법이 있다.