A touch event has three phases: start, move and release.
- Request A view can request to become the touch responder in the: – start phase by returning
true
fromonStartShouldSetResponder
– move phase by returningtrue
fromonMoveShouldSetResponder
- Bubbling Similar to the web, these negotiation functions are called in a bubbling pattern. Therefore, the deepest component will become the responder.
- Override However, a parent can choose to override and claim responsibility. This is done by returning true from either
onStartShouldSetResponderCapture
oronMoveShouldSetResponderCapture
. - Granted or Rejected If a view’s request is granted or rejected
onResponderGrant
oronResponderReject
is invoked appropriately. - Respond Finally the view can then respond using one of the following handlers:
onResponderMove
onResponderRelease
onResponderTerminationRequest
onResponderTerminate
After a view has successfully claimed touch responder status, its relevant event handlers may be called.