Skip to content

Latest commit

 

History

History

navigator-compose

navigator-compose

CI

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.

Implementation

Maven Central

// root's build.gradle
allprojects {
    repositories {
        mavenCentral()
    }
}
// module's build.gradle
dependencies {
    implementation "io.github.kaustubhpatange:navigator-compose:<version>"
}
  • Snapshots

Snapshots of the current development version of navigator-compose are available, which track the latest commit. See here for more information.

Samples

  • 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.

Tutorials

Apps using navigator-compose

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

License

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.