@@ -62,6 +62,8 @@ import androidx.compose.ui.geometry.Offset
62
62
import androidx.compose.ui.graphics.Brush
63
63
import androidx.compose.ui.graphics.Color
64
64
import androidx.compose.ui.graphics.graphicsLayer
65
+ import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
66
+ import androidx.compose.ui.input.nestedscroll.NestedScrollSource
65
67
import androidx.compose.ui.input.nestedscroll.nestedScroll
66
68
import androidx.compose.ui.input.pointer.pointerInput
67
69
import androidx.compose.ui.platform.ComposeView
@@ -351,3 +353,43 @@ private fun TransformableSample() {
351
353
)
352
354
}
353
355
// [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