pointerInteropFilter
Compose Modifier
Android
fun Modifier.pointerInteropFilter(
requestDisallowInterceptTouchEvent: (RequestDisallowInterceptTouchEvent)? = null,
onTouchEvent: (MotionEvent) -> Boolean,
): Modifier
A special PointerInputModifier that provides access to the underlying MotionEvents originally
dispatched to Compose. Prefer pointerInput and use this only for interoperation with existing
code that consumes MotionEvents.
While the main intent of this Modifier is to allow arbitrary code to access the original
MotionEvent dispatched to Compose, for completeness, analogs are provided to allow arbitrary
code to interact with the system as if it were an Android View.
This includes 2 APIs,
onTouchEventhas a Boolean return type which is akin to the return type ofView.onTouchEvent. If the providedonTouchEventreturns true, it will continue to receive the event stream (unless the event stream has been intercepted) and if it returns false, it will not.requestDisallowInterceptTouchEventis a lambda that you can optionally provide so that you can later call it (yes, in this case, you call the lambda that you provided) which is akin to callingViewParent.requestDisallowInterceptTouchEvent. When this is called, any associated ancestors in the tree that abide by the contract will act accordingly and will not intercept the even stream.
