GestureDetector

박동규·2023년 11월 22일
0

Widgets

목록 보기
7/18

GestureDetector 위젯은 Flutter에서 제스처를 감지하고 처리하기 위한 유용한 위젯입니다. 이 위젯을 사용하면 사용자의 터치 제스처나 다른 상호 작용을 감지하고 이벤트를 처리할 수 있습니다. GestureDetector는 다양한 제스처를 감지하고 이벤트 처리를 위해 콜백 함수를 등록할 수 있습니다.

GestureDetector 위젯의 중요한 속성 및 기능은 다음과 같습니다:

  1. onTap: 사용자가 위젯을 탭할 때 실행할 콜백 함수를 정의합니다. 이를 통해 단일 탭 제스처를 처리할 수 있습니다.
  2. onDoubleTap: 사용자가 위젯을 더블 탭할 때 실행할 콜백 함수를 정의합니다.
  3. onLongPress: 사용자가 위젯을 길게 누르고 있을 때 실행할 콜백 함수를 정의합니다.
  4. onPan: 드래그 또는 스와이프와 같은 제스처를 처리하는 데 사용됩니다. onPan 콜백 함수를 정의하여 이벤트를 처리할 수 있습니다.
  5. onScale: 사용자의 핀치 제스처(두 손가락으로 확대 또는 축소)를 처리하는 데 사용됩니다.
  6. onVerticalDrag, onHorizontalDrag: 수직 및 수평 드래그 제스처를 처리하는 데 사용됩니다.
  7. 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(); 익명함수를 주어서 키보드를 비활성화 시키는 방법이 있다.

profile
내가 원하는 것을 만들자

0개의 댓글