SkillAgentSearch skills...

Navigator

A small navigation library for Android to ease the use of fragment transactions & handling backstack (also available for Jetpack Compose).

Install / Use

/learn @KaustubhPatange/Navigator

README

navigator

build

Looking for Jetpack Compose implementation of navigator, see here.

A small (Kotlin first) type-safe navigation library for Android to ease the use of fragment transactions with a navigator.navigateTo call (rest is handled for you) & navigating back is as simple as navigator.goBack().

You also get a separate onBackPressed() callback on the child fragments which will be called when this is the current visible fragment & is the one which is going to be removed upon back press.

The library provides some custom transitions like CircularTransform (on top of existing animations), see its use in the sample app here.

<!-- The library is build on the existing Fragment APIs so it is easy to introduce this library into existing project. The developer has complete control over navigation & can choose between `FragmentTransaction` or `Navigator` at any time. -->

If you have any implementation details to cover let me know.

What additional benefits I can get when using this library?

  • Proper handling of Fragment Transaction.
  • Handling up & back press actions efficiently on Fragment.
  • Easy to use API for animations & transitions (see here).
  • Generic Typed Arguments when passing data between destinations (see here).
  • Quick Bottom & Tab navigation setup (see tutorials).

API Reference docs, check here.

Implementation

Maven Central

// root's build.gradle
allprojects {
    repositories {
        mavenCentral()
    }
}
// modules's build.gradle
dependencies {
    implementation "io.github.kaustubhpatange:navigator:<version>" // Core library (Required)
    implementation "io.github.kaustubhpatange:navigator-extensions:<version>" // Optional but recommended
    implementation "io.github.kaustubhpatange:navigator-bottom-navigation:<version>" // For setting up Bottom Navigation.
    implementation "io.github.kaustubhpatange:navigator-tab-navigation:<version>" // For setting up Tab Layout Navigation.
    implementation "io.github.kaustubhpatange:navigator-rail-navigation:<version>" // For setting up Rail Navigation.
}
  • Snapshots

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

Samples

  • Basic sample - Hands on with the introduction to some library features.
  • Backpress sample - A sample focused on handling back press events effectively.
  • Navigation sample - A sample which demonstrate the use of Bottom & Tab navigation supporting multiple backstack through navigator.
  • Multi-Module Navigation sample - Multi-module navigation through navigator using Dagger-Hilt.

Tutorials

Apps using navigator

If you would like me to add your app in the list, let me know through issues.

| | Name | | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | <img width="32px" src="https://github.com/KaustubhPatange/Moviesy/raw/master/web/images/icon.png" /> | Moviesy - Client app for YTS movies | | <img width="32x" src="https://github.com/KaustubhPatange/XClipper/raw/master/XClipper.Web/images/icon.png" /> | XClipper - Clipboard manager for Android & Windows |

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.

Related Skills

View on GitHub
GitHub Stars102
CategoryDevelopment
Updated2mo ago
Forks5

Languages

Kotlin

Security Score

100/100

Audited on Jan 19, 2026

No findings