@@ -62,6 +62,8 @@ import androidx.compose.ui.geometry.Offset
6262import androidx.compose.ui.graphics.Brush
6363import androidx.compose.ui.graphics.Color
6464import androidx.compose.ui.graphics.graphicsLayer
65+ import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
66+ import androidx.compose.ui.input.nestedscroll.NestedScrollSource
6567import androidx.compose.ui.input.nestedscroll.nestedScroll
6668import androidx.compose.ui.input.pointer.pointerInput
6769import androidx.compose.ui.platform.ComposeView
@@ -351,3 +353,43 @@ private fun TransformableSample() {
351353 )
352354}
353355// [END android_compose_touchinput_gestures_transformable]
356+
357+ @Composable
358+ fun NestedScrollSample () {
359+
360+ // [START android_compose_touchinput_gestures_nestedscrollconnection]
361+ val nestedScrollConnection = object : NestedScrollConnection {
362+ override fun onPreScroll (available : Offset , source : NestedScrollSource ): Offset {
363+ println (" Received onPreScroll callback." )
364+ return Offset .Zero
365+ }
366+
367+ override fun onPostScroll (
368+ consumed : Offset ,
369+ available : Offset ,
370+ source : NestedScrollSource
371+ ): Offset {
372+ println (" Received onPostScroll callback." )
373+ return Offset .Zero
374+ }
375+ }
376+ // [END android_compose_touchinput_gestures_nestedscrollconnection]
377+
378+ // [START android_compose_touchinput_gestures_nestedscrolldisabled]
379+ val disabledNestedScrollConnection = remember {
380+ object : NestedScrollConnection {
381+ override fun onPostScroll (
382+ consumed : Offset ,
383+ available : Offset ,
384+ source : NestedScrollSource
385+ ): Offset {
386+ return if (source == NestedScrollSource .SideEffect ) {
387+ available
388+ } else {
389+ Offset .Zero
390+ }
391+ }
392+ }
393+ }
394+ // [END android_compose_touchinput_gestures_nestedscrolldisabled]
395+ }
0 commit comments