This repository provides a step-by-step tutorial for the Navigation 3 library, a modern navigation solution designed specifically for Jetpack Compose. Navigation 3 offers developers complete control over the navigation back stack, simplifying the process to be as straightforward as managing a list.
Important
For a detailed guide on the setup and implementation, check out my article on Medium:
- Basic Setup: Demonstrates the core setup for navigation state and the overall navigation system.
- Bottom Navigation: Shows integration with a Bottom Navigation bar for primary app destinations.
- Animations: Includes examples of screen transition animations with both global and per-screen configurations.
- Adaptive UI: Supports adaptive navigation, allowing the UI to adjust to different screen sizes and layouts, such as for tablets and foldables.
- UI: Jetpack Compose
- Navigation: Navigation 3
- Language: Kotlin
This example demonstrates the following navigation paths:
- Bottom Navigation:
- 📱 -> Screen A & Screen B
- From Screen A: - ➡️ -> Screen C
- From Screen B: - ➡️ -> Screen D
| Navigation without Animation | Navigation with Animation | Adaptive Navigation |
|---|---|---|
![]() |
![]() |
![]() |
- Navigation 3 Version: 1.0.1
- Target SDK: 36
- Minimum SDK: 29
- Kotlin Version: 2.3.10
- Gradle Version: 9.0.1
- YouTube Tutorial: Jetpack compose navigation - Transitions
- Android Developers Blog: Jetpack Navigation 3 is Stable
- Official Documentation: Navigation 3 Guide
If you enjoy this project, please give it a star! Check out all the stargazers here: Stargazers on GitHub
This project is actively maintained. Feedback, bug reports, and feature requests are welcome! Please feel free to open an issue or submit a pull request.


