Sobes.tech
Junior

Jaké gesta lze zpracovávat ve Flutteru?

sobes.tech AI

Odpověď od AI

Ve Flutteru lze následující gesta zpracovávat pomocí widgetů jako GestureDetector a dalších:

  • Klepnutí:

    • onTap: Jednoduché klepnutí.
    • onDoubleTap: Dvojité klepnutí.
    • onLongPress: Dlouhý stisk.
    • onTapDown: Klepnutí v okamžiku kontaktu s obrazovkou.
    • onTapUp: Uvolnění po klepnutí.
    • onTapCancel: Zrušení klepnutí.
  • Přetažení (Draggable):

    • onVerticalDragStart: Začátek svislého přetažení.
    • onVerticalDragUpdate: Aktualizace svislého přetažení.
    • onVerticalDragEnd: Konec svislého přetažení.
    • onHorizontalDragStart: Začátek vodorovného přetažení.
    • onHorizontalDragUpdate: Aktualizace vodorovného přetažení.
    • onHorizontalDragEnd: Konec vodorovného přetažení.
    • onPanStart: Začátek jakéhokoliv přetažení.
    • onPanUpdate: Aktualizace jakéhokoliv přetažení.
    • onPanEnd: Konec jakéhokoliv přetažení.
  • Zvětšení/zmenšení (Scale):

    • onScaleStart: Začátek škálování.
    • onScaleUpdate: Aktualizace škálování.
    • onScaleEnd: Konec škálování.
  • Další gesta:

    • onForcePressStart: Začátek silného stisku (podporováno na některých zařízeních).
    • onForcePressPeak: Vrchol silného stisku.
    • onForcePressUpdate: Aktualizace silného stisku.
    • onForcePressEnd: Konec silného stisku.

Příklad použití GestureDetector:

import 'package:flutter/material.dart';

class MyGestureWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        print('Klep!');
      },
      onDoubleTap: () {
        print('Dvojitý klep!');
      },
      onLongPress: () {
        print('Dlouhý stisk!');
      },
      child: Container(
        color: Colors.blue,
        width: 100,
        height: 100,
        child: Center(
          child: Text('Stiskni mě'),
        ),
      ),
    );
  }
}