Sobes.tech
Junior

Welche Gesten können in Flutter verarbeitet werden?

sobes.tech KI

Antwort von AI

In Flutter können die folgenden Gesten mit Widgets wie GestureDetector und anderen verarbeitet werden:

  • Tippen:

    • onTap: Einfaches Tippen.
    • onDoubleTap: Doppeltippen.
    • onLongPress: Langes Drücken.
    • onTapDown: Tippen beim Berühren des Bildschirms.
    • onTapUp: Loslassen nach dem Tippen.
    • onTapCancel: Tippen abbrechen.
  • Ziehen (Draggable):

    • onVerticalDragStart: Beginn des vertikalen Ziehens.
    • onVerticalDragUpdate: Aktualisierung des vertikalen Ziehens.
    • onVerticalDragEnd: Ende des vertikalen Ziehens.
    • onHorizontalDragStart: Beginn des horizontalen Ziehens.
    • onHorizontalDragUpdate: Aktualisierung des horizontalen Ziehens.
    • onHorizontalDragEnd: Ende des horizontalen Ziehens.
    • onPanStart: Beginn eines beliebigen Ziehvorgangs.
    • onPanUpdate: Aktualisierung eines beliebigen Ziehvorgangs.
    • onPanEnd: Ende eines beliebigen Ziehvorgangs.
  • Vergrößern/Verkleinern (Skalierung):

    • onScaleStart: Beginn der Skalierung.
    • onScaleUpdate: Aktualisierung der Skalierung.
    • onScaleEnd: Ende der Skalierung.
  • Andere Gesten:

    • onForcePressStart: Beginn eines starken Drucks (auf einigen Geräten unterstützt).
    • onForcePressPeak: Spitze des starken Drucks.
    • onForcePressUpdate: Aktualisierung des starken Drucks.
    • onForcePressEnd: Ende des starken Drucks.

Beispiel für die Verwendung von GestureDetector:

import 'package:flutter/material.dart';

class MyGestureWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        print('Tippen!');
      },
      onDoubleTap: () {
        print('Doppeltippen!');
      },
      onLongPress: () {
        print('Langes Drücken!');
      },
      child: Container(
        color: Colors.blue,
        width: 100,
        height: 100,
        child: Center(
          child: Text('Drück mich'),
        ),
      ),
    );
  }
}