Flutter starts event handling in a low-level layer (pointer layers), where you can handle every pointer event and decide how to control it, such as with a drag or single tap.
The Flutter framework implements event dispatching on the widget tree by following a sequence of events:
- PointerDownEvent is where the interaction begins, with a pointer coming into contact with a certain location of the device screen. Here, the framework searches the widget tree for the widget that exists in the location of the pointer on the screen. This action is called a hit test.
- Every following event is dispatched to the innermost widget that matches the location, and then raised up the widget tree from the parent widgets to the root. This propagation ...