📄️ Basic Usage
Define a root navigator by implementing the NavigationRoot interface:
📄️ Stack Navigation
A stack navigator behaves like a regular stack of destinations. Navigating to a new screen will place a new entry at the top of the stack, and navigating back will pop that destination from the stack.
📄️ Tab Navigation
A tab navigator reuses the same screen instance when navigating between screens.
📄️ Passing Arguments
The instance of the screen object passed to navigate is the same instance passed into the screen content. Define arguments on your screen object:
📄️ Animations
Animations can be implemented through screen decoration. Router takes a ScreenDecoration:
📄️ Chained Navigation
Sometimes it necessary to navigate to a screen which would otherwise require a series of individual navigations. We want to ensure that the path to this new screen remains valid so that the backstack represents a real flow. To achieve this, Compose Router introduces chained navigation:
📄️ Structural Changes
It is possible to perform structural changes to your navigation graph at runtime. Pass a key to Router and the graph will automatically reconcile when the key changes.
📄️ Android
ViewModel
📄️ Deep Links
First class support for deep links is not supported yet. Instead, you can utilize chained navigation to map a deep link to a navigation path: