Sobes.tech
Junior

¿Qué gestos se pueden manejar en Flutter?

sobes.tech AI

Respuesta de la IA

En Flutter, se pueden manejar los siguientes gestos con widgets como GestureDetector y otros:

  • Toques:

    • onTap: Toque simple.
    • onDoubleTap: Doble toque.
    • onLongPress: Toque prolongado.
    • onTapDown: Toque en el momento del contacto con la pantalla.
    • onTapUp: Soltar después del toque.
    • onTapCancel: Cancelar toque.
  • Arrastrar (Draggable):

    • onVerticalDragStart: Inicio del arrastre vertical.
    • onVerticalDragUpdate: Actualización del arrastre vertical.
    • onVerticalDragEnd: Fin del arrastre vertical.
    • onHorizontalDragStart: Inicio del arrastre horizontal.
    • onHorizontalDragUpdate: Actualización del arrastre horizontal.
    • onHorizontalDragEnd: Fin del arrastre horizontal.
    • onPanStart: Inicio de cualquier arrastre.
    • onPanUpdate: Actualización de cualquier arrastre.
    • onPanEnd: Fin de cualquier arrastre.
  • Aumentar/disminuir (Escala):

    • onScaleStart: Inicio de la escala.
    • onScaleUpdate: Actualización de la escala.
    • onScaleEnd: Fin de la escala.
  • Otros gestos:

    • onForcePressStart: Inicio de presión fuerte (soportado en algunos dispositivos).
    • onForcePressPeak: Pico de presión fuerte.
    • onForcePressUpdate: Actualización de la presión fuerte.
    • onForcePressEnd: Fin de la presión fuerte.

Ejemplo de uso de GestureDetector:

import 'package:flutter/material.dart';

class MyGestureWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        print('¡Toque!');
      },
      onDoubleTap: () {
        print('¡Doble toque!');
      },
      onLongPress: () {
        print('¡Toque prolongado!');
      },
      child: Container(
        color: Colors.blue,
        width: 100,
        height: 100,
        child: Center(
          child: Text('Tócame'),
        ),
      ),
    );
  }
}