glissando
Slide across widgets while the pointer is down.
Usage
Wrap your widget in a Glissando
.
import 'package:flutter/material.dart'; import 'package:glissando/glissando.dart'; void main() { runApp(MaterialApp( home: Glissando( child: Row( children: [ Listener( onPointerDown: (_) => print("1 down"), onPointerCancel: (_) => print("1 cancel"), onPointerUp: (_) => print("1 up"), child: Container( color: Colors.red, width: 100, height: 100, ), ), Listener( onPointerDown: (_) => print("2 down"), onPointerCancel: (_) => print("2 cancel"), onPointerUp: (_) => print("2 up"), child: Container( color: Colors.blue, width: 100, height: 100, ), ), ], ), ), )); }
When you slide from widget A to widget B, widget A will receive a pointer cancel event, while widget B will receive a pointer down event.
When you lift the pointer, the widget that last got the down event will get the pointer up event.