Junior
Jakie gesty można obsługiwać w Flutterze?
sobes.tech AI
Odpowiedź od AI
W Flutterze można obsługiwać następujące gesty za pomocą widżetów takich jak GestureDetector i innych:
-
Dotknięcia:
onTap: Proste dotknięcie.onDoubleTap: Podwójne dotknięcie.onLongPress: Długie naciśnięcie.onTapDown: Dotknięcie w momencie kontaktu z ekranem.onTapUp: Zwolnienie po dotknięciu.onTapCancel: Anulowanie dotknięcia.
-
Przeciąganie (Draggable):
onVerticalDragStart: Rozpoczęcie przeciągania pionowego.onVerticalDragUpdate: Aktualizacja przeciągania pionowego.onVerticalDragEnd: Koniec przeciągania pionowego.onHorizontalDragStart: Rozpoczęcie przeciągania poziomego.onHorizontalDragUpdate: Aktualizacja przeciągania poziomego.onHorizontalDragEnd: Koniec przeciągania poziomego.onPanStart: Rozpoczęcie dowolnego przeciągania.onPanUpdate: Aktualizacja dowolnego przeciągania.onPanEnd: Koniec dowolnego przeciągania.
-
Powiększanie/zmniejszanie (Skala):
onScaleStart: Rozpoczęcie skalowania.onScaleUpdate: Aktualizacja skalowania.onScaleEnd: Koniec skalowania.
-
Inne gesty:
onForcePressStart: Rozpoczęcie silnego naciśnięcia (obsługiwane na niektórych urządzeniach).onForcePressPeak: Szczyt silnego naciśnięcia.onForcePressUpdate: Aktualizacja silnego naciśnięcia.onForcePressEnd: Koniec silnego naciśnięcia.
Przykład użycia GestureDetector:
import 'package:flutter/material.dart';
class MyGestureWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
print('Dotknięto!');
},
onDoubleTap: () {
print('Podwójne dotknięcie!');
},
onLongPress: () {
print('Długie naciśnięcie!');
},
child: Container(
color: Colors.blue,
width: 100,
height: 100,
child: Center(
child: Text('Dotknij mnie'),
),
),
);
}
}