Sobes.tech
Junior

Milyen gesztusokat lehet kezelni Flutterben?

sobes.tech MI

Válasz az MI-től

A Flutterben a következő gesztusokat lehet kezelni a GestureDetector és más widgetek segítségével:

  • Érintések:

    • onTap: Egyszerű érintés.
    • onDoubleTap: Kétszeri érintés.
    • onLongPress: Hosszú nyomás.
    • onTapDown: Érintés pillanatában.
    • onTapUp: Engedés érintés után.
    • onTapCancel: Érintés megszakítása.
  • Húzás (Draggable):

    • onVerticalDragStart: Függőleges húzás kezdete.
    • onVerticalDragUpdate: Függőleges húzás frissítése.
    • onVerticalDragEnd: Függőleges húzás vége.
    • onHorizontalDragStart: Vízszintes húzás kezdete.
    • onHorizontalDragUpdate: Vízszintes húzás frissítése.
    • onHorizontalDragEnd: Vízszintes húzás vége.
    • onPanStart: Bármilyen húzás kezdete.
    • onPanUpdate: Bármilyen húzás frissítése.
    • onPanEnd: Bármilyen húzás vége.
  • Nagyítás/kicsinyítés (Scale):

    • onScaleStart: A nagyítás kezdete.
    • onScaleUpdate: A nagyítás frissítése.
    • onScaleEnd: A nagyítás vége.
  • Egyéb gesztusok:

    • onForcePressStart: Erős nyomás kezdete (egyes eszközökön támogatott).
    • onForcePressPeak: Az erős nyomás csúcsa.
    • onForcePressUpdate: Az erős nyomás frissítése.
    • onForcePressEnd: Az erős nyomás vége.

Példa a GestureDetector használatára:

import 'package:flutter/material.dart';

class MyGestureWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        print('Érintés!');
      },
      onDoubleTap: () {
        print('Dupla érintés!');
      },
      onLongPress: () {
        print('Hosszú nyomás!');
      },
      child: Container(
        color: Colors.blue,
        width: 100,
        height: 100,
        child: Center(
          child: Text('Nyomj meg engem'),
        ),
      ),
    );
  }
}