Skip to content

Commit ff89f15

Browse files
Add nested scroll snippets (#274)
* Add nested scroll snippets * Apply Spotless --------- Co-authored-by: simona-anomis <[email protected]>
1 parent da1a929 commit ff89f15

File tree

1 file changed

+42
-0
lines changed
  • compose/snippets/src/main/java/com/example/compose/snippets/touchinput/gestures

1 file changed

+42
-0
lines changed

compose/snippets/src/main/java/com/example/compose/snippets/touchinput/gestures/GesturesSnippets.kt

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ import androidx.compose.ui.geometry.Offset
6262
import androidx.compose.ui.graphics.Brush
6363
import androidx.compose.ui.graphics.Color
6464
import androidx.compose.ui.graphics.graphicsLayer
65+
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
66+
import androidx.compose.ui.input.nestedscroll.NestedScrollSource
6567
import androidx.compose.ui.input.nestedscroll.nestedScroll
6668
import androidx.compose.ui.input.pointer.pointerInput
6769
import 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

Comments
 (0)