Description
A lightweight library to help you navigate in compose with well typed functions.
TypedNavigation alternatives and similar packages
Based on the "Navigation" category.
Alternatively, view TypedNavigation alternatives based on common mentions on social networks and blogs.
-
SlidingTutorial
Android Library for making animated tutorials inside your app -
Compose Destinations
Annotation processing library for type-safe Jetpack Compose navigation with no boilerplate. -
Bubble Navigation
๐ [Android Library] A light-weight library to easily make beautiful Navigation Bar with ton of ๐จ customization option. -
FragNav
An Android library for managing multiple stacks of fragments -
RecyclerTabLayout
An efficient TabLayout library implemented with RecyclerView. -
Duo Navigation Drawer
A flexible, easy to use, unique drawer library for your Android project. -
AnimatedBottomBar
A customizable and easy to use BottomBar navigation view with sleek animations, with support for ViewPager, ViewPager2, NavController, and badges. -
BubbleTabBar
BubbleTabBar is a bottom navigation bar with customizable bubble-like tabs -
Compose Navigation Reimagined
๐ Type-safe navigation library for Jetpack Compose -
Alligator
Alligator is a modern Android navigation library that will help to organize your navigation code in clean and testable way. -
Fragula 2
๐ง Fragula is a swipe-to-dismiss extension for navigation component library for Android -
PagerSlidingTabStrip
An interactive indicator to navigate between the different pages of a ViewPager -
Okuki
Okuki is a simple, hierarchical navigation bus and back stack for Android, with optional Rx bindings, and Toothpick DI integration. -
CarMarker-Animation
Marker Animation android googlemap -
Dual-color-Polyline-Animation
This library will help to show the polyline in dual color similar as Uber. -
Keyboard Dismisser
Dismiss your keyboard by tapping anywhere outside it. -
Facilis
A sleek, out of the box, easy to understand and use, swipe gesture based Navigational Library for android. -
fragstack
Memory efficient android library for managing individual fragment backstack. -
what3words Autosuggest EditText
An Android library to use what3words autosuggest -
AndroidBriefActions
Android library for sending and observing non persistent actions such as showing a message; nice readable way to call navigation actions from ViewModel or Activity/Fragment.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of TypedNavigation or a related project?
README
TypedNavigation
A lightweight library to help you navigate in compose with well typed functions.
Installation:
You can add this library to your project by just adding the following code to your root build.gradle
allprojects {
repositories {
// ...
maven { url 'https://jitpack.io' }
}
}
Then import the library in your app build.gradle
file.
implementation 'com.github.xmartlabs:TypedNavigation:0.0.2'
Usage:
You just have to define your screens and the arguments they receive:
object Router {
val default = TypedNavigation.E("default")
val sample = TypedNavigation.A3("sample", NavType.StringType, NavType.StringType, NavType.StringType)
}
And after that the library will provide you with the following functions:
To add your screen to the NavHost
:
setContent {
val navigationController: NavHostController = rememberNavController()
NavHost(navController = navigationController, startDestination = Router.default.url) {
composable(Router.default) {
Default(navigationController = navigationController)
}
composable(Router.sample) { a: String?, b: String?, c: String? ->
Sample(a, b, c)
}
}
}
To navigate from one screen to another:
navigationController.navigate(Router.sample.route("a", "b", "c"))
Add deep linking to your screen by setting up the correct path to the url:
val sample =
TypedNavigation.A3("sample", NavType.StringType, NavType.StringType, NavType.StringType,
listOf { a1, a2, a3 -> // a1, a2 and a3 contains the keys for the attributes previously defined
"www.example.com/$a1/$a2/$a3"
}
)
For more examples you can check out our sample app.
About
Made with โค๏ธ by XMARTLABS