A small navigation library for Android to ease the use of fragment transactions & handling backstack (also available for Jetpack Compose).
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.
If you have any implementation details to cover let me know.
What additional benefits I can get when using this library?
API Reference docs, check here.
// 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 of the current development version of navigator
are available, which track the latest commit. See here for more information.
navigator
.navigator
using Dagger-Hilt.navigator
If you would like me to add your app in the list, let me know through issues.
Name | |
---|---|
Moviesy - Client app for YTS movies | |
XClipper - Clipboard manager for Android & Windows |
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.