rememberNestedScrollInteropConnection

Composable Function

Android
@Composable
fun rememberNestedScrollInteropConnection(
    hostView: View = LocalView.current
): NestedScrollConnection

Create and remember the NestedScrollConnection that enables Nested Scroll Interop between a View parent that implements androidx.core.view.NestedScrollingParent3 and a Compose child. This should be used in conjunction with a androidx.compose.ui.input.nestedscroll.nestedScroll modifier. Nested Scroll is enabled by default on the compose side and you can use this connection to enable both nested scroll on the view side and to add glue logic between View and compose.

Note that this only covers the use case where a cooperating parent is used. A cooperating parent is one that implements NestedScrollingParent3, a key layout that does that is androidx.coordinatorlayout.widget.CoordinatorLayout.

Learn how to enable nested scroll interop:

Parameters

hostViewThe View that hosts the compose scrollable, this is usually a ComposeView.

Code Examples

ComposeInCooperatingViewNestedScrollInteropSample

@Composable
fun ComposeInCooperatingViewNestedScrollInteropSample() {
    val nestedSrollInterop = rememberNestedScrollInteropConnection()
    // Add the nested scroll connection to your top level @Composable element
    // using the nestedScroll modifier.
    LazyColumn(modifier = Modifier.nestedScroll(nestedSrollInterop)) {
        items(20) { item ->
            Box(
                modifier =
                    Modifier.padding(16.dp).height(56.dp).fillMaxWidth().background(Color.Gray),
                contentAlignment = Alignment.Center,
            ) {
                Text(item.toString())
            }
        }
    }
}