Navigationsereignis

„Navigation Event“ ist eine Bibliothek, die eine KMP-Lösung (Kotlin Multiplatform) für die Integration von Navigationsereignissen auf Systemebene in Ihre Anwendung bietet. Sie ist als Grundlage für die Verarbeitung von Navigationsanweisungen auf verschiedenen unterstützten Plattformen konzipiert.

Schlüsselkonzepte

Das Navigationsereignissystem basiert auf einem zentralen Dispatcher-Handler-Modell, das häufig in einer über- und untergeordneten Hierarchie verwendet wird, um komplexe UI-Strukturen wie in Jetpack Compose abzubilden.

Die Klasse NavigationEventDispatcher ist für die Verwaltung aller registrierten Navigation-Ereignis-Consumern (NavigationEventHandler) und die Orchestrierung des Ereignisflusses verantwortlich.

In einer hierarchischen Einrichtung teilen sich alle Dispatcher in derselben Kette einen einzelnen NavigationEventProcessor, der den globalen Status verwaltet und für eine einheitliche Dispatching-Reihenfolge im gesamten Baum sorgt.

NavigationEventHandler ist eine abstrakte Klasse, die Navigationsereignisse empfängt und verarbeitet, die von einem NavigationEventDispatcher gesendet werden. Sie definiert Callback-Methoden, die verschiedenen Phasen des Lebenszyklus einer Navigationsgeste entsprechen, z. B. wenn eine Geste beginnt, fortschreitet, abgeschlossen oder abgebrochen wird.

Handler können auf diese Ereignisse reagieren, um die Benutzeroberfläche oder den Anwendungsstatus als Reaktion auf Navigationsaktionen des Nutzers zu aktualisieren. Bei einem Dispatcher können mehrere Handler registriert werden. Sie werden basierend auf Priorität und Registrierungsreihenfolge aufgerufen.

NavigationEvent ist eine Datenklasse, die die Details der Navigationsgeste enthält.

NavigationEventInfo ist eine abstrakte Klasse, die Kontextinformationen zu einem Navigationsstatus bereitstellt.

NavigationEventInput ist eine abstrakte Klasse für Komponenten, die Navigationsereignisse generieren und senden. Es fungiert als „Eingabe“-Seite des Navigationssystems und übersetzt plattformspezifische Ereignisse (z. B. System-Zurück-Gesten oder Schaltflächenklicks) in standardisierte Ereignisse, die an ein NavigationEventDispatcher gesendet werden können.

Unterstützte Wegbeschreibungen und Trigger

Das Navigationsereignis-System ist so konzipiert, dass es mehr als nur die System-Zurück-Schaltfläche umfasst. Es unterstützt mehrere Navigationsrichtungen und Eingabemethoden auf verschiedenen Plattformen.

Unterstützte Richtungen

Auf verschiedenen Plattformen werden unterschiedliche Navigationsanweisungen unterstützt:

Plattform

Zurück

Nach oben

Weiterleiten

Startseite

Android-Smartphone

🚫

Android-Tablet

🚫

Web (Browser)

🚫

iOS (iPhone/iPad)

🚫

Unterstützte Trigger

Die Eingabe wird auf jeder Plattform durch verschiedene Mechanismen verarbeitet:

Auslöser

Android-Smartphone

Web (Browser)

iOS (iPhone/iPad)

Zurück-Taste auf der Tastatur

✅ Zurück

✅ Zurück

Software-Schaltfläche „Zurück“

🚫

✅ Zurück

✅ Zurück

Software-Up-Schaltfläche

✅ Aktiv

🚫

🚫

Geste von links

✅ Zurück

✅ Zurück

Geste von rechts

✅ Zurück

✅ Weiterleiten

Geste vom unteren Bildschirmrand

✅ Startseite

🚫

✅ Startseite