0Pricing
Jetpack Compose Academy · Lektion

Verschachtelte Scroll-Verbindungen

Koordinieren Sie das Scrollen zwischen Containern.

Verschachtelte Scroll-Verbindungen ist eine kostenlose Jetpack Compose Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Jetpack Compose Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Jetpack Compose Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Scrolls Inside Scrolls

Sometimes a scrollable sits inside another scrollable, like a list under a collapsing header. Nested scroll lets them cooperate instead of fighting. 📜

The Coordination Problem

Without help, the inner list eats every swipe and the outer container never moves. NestedScrollConnection shares the scroll between them.

Meet nestedScroll

Attach the nestedScroll modifier and pass a connection. That connection intercepts scroll deltas as they travel up the tree.

Modifier.nestedScroll(connection)

Pre-Scroll: First Dibs

The parent gets a chance before the child via onPreScroll. Return how much of the delta you consumed; the rest flows to the child.

override fun onPreScroll(available: Offset, source): Offset

Post-Scroll: Leftovers

After the child scrolls, onPostScroll offers any unused delta back to the parent. Use it to move a header once the list hits its edge.

override fun onPostScroll(consumed, available, source): Offset

Consume What You Need

In each callback you return an Offset of how much you used. Return Offset.Zero to pass everything through to the next participant.

return Offset(0f, consumedY)

Fling Phases Too

There are matching onPreFling and onPostFling callbacks for momentum. They are suspend functions so you can animate as the fling resolves.

override suspend fun onPreFling(available: Velocity): Velocity

Remember the Connection

Wrap your connection in remember so it survives recomposition. Capture any state it reads, like a header offset, inside it.

val connection = remember { object : NestedScrollConnection {...} }

Collapsing Toolbar Classic

The flagship use is a collapsing toolbar: shrink the top bar with pre-scroll while the list scrolls, then expand it on the way back.

It Just Works Often

Many built-ins like Scaffold with scroll behaviors already wire nested scroll for you. Reach for a custom connection only when you need fine control.

Mind the Source

Each callback gets a source telling you if the scroll came from a drag or a fling. Use it to react differently to touch versus momentum.

if (source == NestedScrollSource.Drag) { /* ... */ }

Quick Check

Which callback lets a parent consume scroll before its child does?

Recap: Scrolls in Harmony

You learned NestedScrollConnection with pre and post scroll and fling, the key to collapsing toolbars and cooperating lists. 🎉

Häufig gestellte Fragen

Ist die Lektion „Verschachtelte Scroll-Verbindungen“ kostenlos?

Ja — der vollständige Text von „Verschachtelte Scroll-Verbindungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Jetpack Compose Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Jetpack Compose Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Verschachtelte Scroll-Verbindungen“?

Koordinieren Sie das Scrollen zwischen Containern. Du übst Jetpack Compose Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Jetpack Compose Academy zu starten?

Keine Vorkenntnisse erforderlich. Jetpack Compose Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Verschachtelte Scroll-Verbindungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Jetpack Compose Academy-Lektion Code schreiben und ausführen?

Ja. Jede Jetpack Compose Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. pointerInput und detectTapGestures
  2. Ziehen, Wischen und Schleudern
  3. Transform: Schwenken, Zoomen und Drehen
  4. Verschachtelte Scroll-Verbindungen
← Zurück zu Jetpack Compose Academy