Junior
Какви жестове могат да се обработват във Flutter?
sobes.tech AI
Отговор от AI
В Flutter можете да обработвате следните жестове с помощта на widget-и като GestureDetector и други:
-
Докосвания:
onTap: Просто докосване.onDoubleTap: Двоен натиск.onLongPress: Дълго натискане.onTapDown: Докосване в момента на контакт с екрана.onTapUp: Освобождаване след натискане.onTapCancel: Отмяна на натискането.
-
Плъзгане (Draggable):
onVerticalDragStart: Начало на вертикално плъзгане.onVerticalDragUpdate: Актуализация на вертикалното плъзгане.onVerticalDragEnd: Край на вертикалното плъзгане.onHorizontalDragStart: Начало на хоризонтално плъзгане.onHorizontalDragUpdate: Актуализация на хоризонталното плъзгане.onHorizontalDragEnd: Край на хоризонталното плъзгане.onPanStart: Начало на всяко плъзгане.onPanUpdate: Актуализация на всяко плъзгане.onPanEnd: Край на всяко плъзгане.
-
Увеличаване/намаляване (Scale):
onScaleStart: Начало на мащабиране.onScaleUpdate: Актуализация на мащабирането.onScaleEnd: Край на мащабирането.
-
Други жестове:
onForcePressStart: Начало на силно натискане (поддържа се на някои устройства).onForcePressPeak: Пик на силното натискане.onForcePressUpdate: Актуализация на силното натискане.onForcePressEnd: Край на силното натискане.
Пример за използване на GestureDetector:
import 'package:flutter/material.dart';
class MyGestureWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
print('Докосване!');
},
onDoubleTap: () {
print('Двоен натиск!');
},
onLongPress: () {
print('Дълго натискане!');
},
child: Container(
color: Colors.blue,
width: 100,
height: 100,
child: Center(
child: Text('Натисни ме'),
),
),
);
}
}