Skip to main content
Logo Appt Light

Input gestures on Flutter

Gesture activated functionality should also be available without the use of gestures. Not everyone is able to make all gestures. For example, for users with limited mobility it might be difficult or impossible to make the 'pinch-to-zoom' gesture. You should provide buttons to zoom in and out as an alternative.

In Flutter, the GestureDetector class is a common way to detect gestures.

A gesture should not be the only way to trigger actions. Make sure to provide a second way, such as a button, to trigger the same action.

double _baseScaleFactor = 1;
double _scaleFactor = 1;

GestureDetector(
  onScaleStart: (details) {
    _baseScaleFactor = _scaleFactor;
  },
  onScaleUpdate: (details) {
    setState(() {
      _scaleFactor = _baseScaleFactor * details.scale;
      // Provide alternative
    });
  },
  child: ...
  ),
);

Feedback?

Let us know!