A type-safe navigation library for Jetpack Compose.
What are the benefits?
- Handles forward, backward navigation supporting multiple backstack.
- Automatically handles backpress events (to go up the stack).
- No Fragments needed, pure
@Composable
navigation. - The library also provides some built-in animations when navigating to other screens (check the sample app).
- All the navigation states are preserved across configuration change & process death.
- Support for navigation scoped
ViewModel
(read here).
API Reference docs, check here.
// root's build.gradle
allprojects {
repositories {
mavenCentral()
}
}
// module's build.gradle
dependencies {
implementation "io.github.kaustubhpatange:navigator-compose:<version>"
}
Snapshots of the current development version of navigator-compose
are available, which track the latest commit. See here for more information.
- Basic sample - Demonstrates forward & backward navigation with animations as well as setup of Bottom Navigation supporting multiple backstack.
- JetNews - A fork from official compose samples which uses
navigator-compose
for Navigation. - JetSurvey - A fork from official compose samples which uses
navigator-compose
for Navigation.
- Quick Setup & usage
- Hands on Tutorials
- Navigating with arguments
- Navigating with animation
- Implementing Nested Navigation
- Navigate with single top instance &
popUpTo
- Navigate with
goBackUntil
orgoBackToRoot
- Implementing Dialogs
- Navigation in Dialogs
- Managing
onBackPressed
manually - Reusing Routes in Navigation
- Navigation Scoped ViewModels
- Lifecycle events in Navigation
Route
s
If you would like me to add your app in the list, let me know through issues.
Name | |
---|---|
Gear VPN - Free, Secure & Open sourced VPN |
Copyright 2020 Kaustubh Patange
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.