pointerInteropFilter
Compose Modifier
Android
fun Modifier.pointerInteropFilter(
requestDisallowInterceptTouchEvent: (RequestDisallowInterceptTouchEvent)? = null,
onTouchEvent: (MotionEvent) -> Boolean,
): Modifier
A special PointerInputModifier that provides access to the underlying MotionEvent
s originally
dispatched to Compose. Prefer pointerInput
and use this only for interoperation with existing
code that consumes MotionEvent
s.
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,
onTouchEvent
has a Boolean return type which is akin to the return type ofView.onTouchEvent
. If the providedonTouchEvent
returns true, it will continue to receive the event stream (unless the event stream has been intercepted) and if it returns false, it will not.requestDisallowInterceptTouchEvent
is 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.