Sobes.tech
Junior

Ce gesturi pot fi gestionate în Flutter?

sobes.tech AI

Răspuns de la AI

În Flutter, puteți gestiona următoarele gesturi folosind widget-uri precum GestureDetector și altele:

  • Atingeri:

    • onTap: Atingere simplă.
    • onDoubleTap: Atingere dublă.
    • onLongPress: Apăsare lungă.
    • onTapDown: Atingere în momentul contactului cu ecranul.
    • onTapUp: Eliberare după atingere.
    • onTapCancel: Anulare atingere.
  • Trage (Draggable):

    • onVerticalDragStart: Începutul tragerii verticale.
    • onVerticalDragUpdate: Actualizarea tragerii verticale.
    • onVerticalDragEnd: Sfârșitul tragerii verticale.
    • onHorizontalDragStart: Începutul tragerii orizontale.
    • onHorizontalDragUpdate: Actualizarea tragerii orizontale.
    • onHorizontalDragEnd: Sfârșitul tragerii orizontale.
    • onPanStart: Începutul oricărei trageri.
    • onPanUpdate: Actualizarea oricărei trageri.
    • onPanEnd: Sfârșitul oricărei trageri.
  • Mărire/micșorare (Scale):

    • onScaleStart: Începutul scalării.
    • onScaleUpdate: Actualizarea scalării.
    • onScaleEnd: Sfârșitul scalării.
  • Alte gesturi:

    • onForcePressStart: Începutul unei apăsări puternice (susținut pe anumite dispozitive).
    • onForcePressPeak: Vârful presiunii puternice.
    • onForcePressUpdate: Actualizarea presiunii puternice.
    • onForcePressEnd: Sfârșitul presiunii puternice.

Exemplu de utilizare a GestureDetector:

import 'package:flutter/material.dart';

class MyGestureWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        print('A fost atins!');
      },
      onDoubleTap: () {
        print('Dublu atins!');
      },
      onLongPress: () {
        print('Apăsare lungă!');
      },
      child: Container(
        color: Colors.blue,
        width: 100,
        height: 100,
        child: Center(
          child: Text('Apasă-mă'),
        ),
      ),
    );
  }
}