Sobes.tech
Junior

Какви жестове могат да се обработват във Flutter?

sobes.tech AI

Отговор от AI

В Flutter можете да обработвате следните жестове с помощта на widget-и като GestureDetector и други:

  • Докосвания:

    • onTap: Просто докосване.
    • onDoubleTap: Двоен натиск.
    • onLongPress: Дълго натискане.
    • onTapDown: Докосване в момента на контакт с екрана.
    • onTapUp: Освобождаване след натискане.
    • onTapCancel: Отмяна на натискането.
  • Плъзгане (Draggable):

    • onVerticalDragStart: Начало на вертикално плъзгане.
    • onVerticalDragUpdate: Актуализация на вертикалното плъзгане.
    • onVerticalDragEnd: Край на вертикалното плъзгане.
    • onHorizontalDragStart: Начало на хоризонтално плъзгане.
    • onHorizontalDragUpdate: Актуализация на хоризонталното плъзгане.
    • onHorizontalDragEnd: Край на хоризонталното плъзгане.
    • onPanStart: Начало на всяко плъзгане.
    • onPanUpdate: Актуализация на всяко плъзгане.
    • onPanEnd: Край на всяко плъзгане.
  • Увеличаване/намаляване (Scale):

    • onScaleStart: Начало на мащабиране.
    • onScaleUpdate: Актуализация на мащабирането.
    • onScaleEnd: Край на мащабирането.
  • Други жестове:

    • onForcePressStart: Начало на силно натискане (поддържа се на някои устройства).
    • onForcePressPeak: Пик на силното натискане.
    • onForcePressUpdate: Актуализация на силното натискане.
    • onForcePressEnd: Край на силното натискане.

Пример за използване на GestureDetector:

import 'package:flutter/material.dart';

class MyGestureWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        print('Докосване!');
      },
      onDoubleTap: () {
        print('Двоен натиск!');
      },
      onLongPress: () {
        print('Дълго натискане!');
      },
      child: Container(
        color: Colors.blue,
        width: 100,
        height: 100,
        child: Center(
          child: Text('Натисни ме'),
        ),
      ),
    );
  }
}