- GestureDetector는 사용자가 화면에서 수행하는 다양한 터치 이벤트를 감지하고 처리하는 기본적인 Flutter 위젯입니다.
- GestureDetector 자체는 화면에 표시되지 않으며, child에 지정된 위젯에 사용자 이벤트가 발생할 때 이벤트를 처리할 수 있습니다.
- 이 위젯은 다양한 사용자 이벤트에 대한 콜백 함수들로 구성되어 있어, 각 이벤트에 맞는 동작을 정의할 수 있습니다.
주요 GestureDetector 콜백 함수
- onTap: 사용자가 화면을 가볍게 탭할 때 호출됩니다. (예: 버튼 클릭 효과)
- onDoubleTap: 사용자가 화면을 빠르게 두 번 탭할 때 호출됩니다. (예: 이미지 확대)
- onLongPress: 사용자가 화면을 오래 누르고 있을 때 호출됩니다. (예: 아이템 삭제 옵션 표시)
- onTapDown: 사용자가 화면을 터치하기 시작할 때 호출됩니다. (예: 버튼을 누르는 즉시 효과 적용)
- onTapUp: 사용자가 터치한 손가락을 화면에서 떼었을 때 호출됩니다. (예: 클릭 완료)
- onVerticalDragStart: 사용자가 화면을 위아래로 드래그하기 시작할 때 호출됩니다. (예: 목록 스크롤 시작 감지)
- onHorizontalDragStart: 사용자가 화면을 좌우로 드래그하기 시작할 때 호출됩니다. (예: 슬라이드 메뉴 호출)
프로젝트 생성 : class_v04

main.dart
더보기
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('GestureDector 사용'),),
body: GestureDetector(
onTap: () {
print('스크린 탭~');
},
onDoubleTap: () {
print('스크린 더블 탭');
},
onLongPress: () {
print('스크린을 오랫동안 누를 때 호출 콜백 함수');
},
child: Center(
child: Container(
width: 200,
height: 200,
color: Colors.amber,
child: Text('Tap, double Tap or Long Press', style: TextStyle(color: Colors.orange),),
),
),
),
),
);
}
}
노란색 박스를 클릭하면 콘솔에 로그에 찍힌다.

'Flutter' 카테고리의 다른 글
| 2024. 11. 18 Flutter UI 프레임워크 riverpod 과 MVVM 활용(0) (0) | 2024.11.18 |
|---|---|
| 2024. 11. 14 Flutter UI 프레임워크 Flutter에서의 위젯 생명 주기 (0) | 2024.11.14 |
| 2024.11. 13 MVVM 패턴과 상태 관리 Provider 라이브러리를 사용해보기 (코드 발전 시키기 2) (0) | 2024.11.13 |
| 2024.11. 13 MVVM 패턴과 상태 관리 상태 변화가 있을 때 UI에 자동으로 알림 주기 (0) | 2024.11.13 |
| 2024.11. 13 MVVM 패턴과 상태 관리 (0) | 2024.11.13 |