# jetpack-navigation

Published articles for jetpack-navigation.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Navigate without crashes using Android Jetpack Navigation

DevFeed: [Navigate without crashes using Android Jetpack Navigation](<https://devfeed.tech/articles/navigate-without-crashes-using-android-jetpack-navigation-26133.md>)

Original publisher: [Read original article](<https://vadzimv.dev/2021/07/26/android-jetpack-navigation-navigate-safe.html>)

Author: Vadzimv Dev Blog

Published: 2021-07-26T16:00:00Z

Content type: tutorial

Language: en

Sources: [vadzimv Dev Blog](<https://devfeed.tech/sources/vadzimv-dev-blog.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [App](<https://devfeed.tech/topics/app.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-jetpack](<https://devfeed.tech/tags/android-jetpack.md>), [app](<https://devfeed.tech/tags/app.md>), [crash](<https://devfeed.tech/tags/crash.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [exception](<https://devfeed.tech/tags/exception.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-navigation](<https://devfeed.tech/tags/jetpack-navigation.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial explains how to use Android Jetpack Navigation safely in production. It recommends wrapper functions that handle navigation exceptions, log failures without treating them as crash reports, and use navigation actions to prevent duplicate navigation from simultaneous clicks.

### Source excerpt

Do not crash an app during navigation. Navigate safely.

## Creating a BottomNavigation Multi-Stack using Child Fragments with Jetpack Navigation

DevFeed: [Creating a BottomNavigation Multi-Stack using Child Fragments with Jetpack Navigation](<https://devfeed.tech/articles/creating-a-bottomnavigation-multi-stack-using-child-fragments-with-jetpack-navigation-25934.md>)

Original publisher: [Read original article](<https://zhuinden.medium.com/creating-a-bottomnavigation-multi-stack-using-child-fragments-with-jetpack-navigation-5d4c24ea6f4f?source=rss-7a8d96da8cb6------2>)

Author: Gabor Varadi

Published: 2021-02-26T06:14:32Z

Content type: tutorial

Language: en

Sources: [Stories by Gabor Varadi on Medium](<https://devfeed.tech/sources/stories-by-gabor-varadi-on-medium.md>)

Topics: [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [bottom-navigation](<https://devfeed.tech/tags/bottom-navigation.md>), [bottomnavigationview](<https://devfeed.tech/tags/bottomnavigationview.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-navigation](<https://devfeed.tech/tags/jetpack-navigation.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [navigation-component](<https://devfeed.tech/tags/navigation-component.md>), [screen](<https://devfeed.tech/tags/screen.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

This tutorial explains how to implement bottom navigation with a separate Jetpack Navigation NavController and back stack for each tab. It uses child fragments, adding all tab fragments while detaching those that are not visible, and initializes each tab with its own navigation graph.

### Source excerpt

It's been a recurring question, regardless of navigation framework of choice: how is it possible to create a screen with a bottom navigation view, that would host a navigation history stack per each tab? Each framework has its own unique ways. For example, with Jetpack Navigation you might use the NavigationExtensions, which requires you to host the BottomNavigationView at the Activity-level. But how would you do it with Jetpack Navigation, in such a way that the BottomNavigationView is confined to a single child fragment, and that child fragment would host all tabs that each have a NavController (backstack) available to them? How bottom navigation with child fragments normally works If you intend to create a BottomNavigationView that is hosted by a Fragment (and that Fragment hosts each tab as a child fragment), there's a bit of work needed to be done. To keep the fragments alive while switching between them, they must all be added. However, to make sure that the fragments are in the correct lifecycle (stopped while not showing), it makes sense to detach them (and attach the one that is meant to be showing). https://medium.com/media/82eb957284cfe5def31160ac33d277ba/href This example is also available here. Please note that there is nothing specific to Jetpack Navigation in this snippet, this is how a fragment can manage its child fragments and keep only one of them attached, while the rest are detached. We will use this knowledge later in the article. What Jetpack Navigation normally does When you use Jetpack Navigation (using its XML-based DSL) you typically create a navigation.xml (typically 1 per compilation module, but multiple nav graphs + include can be used too), which is then given to a NavHostFragment in a FragmentContainerView. This is what allows the NavController to be initialized with a graph, and save/restore its state. https://medium.com/media/4cc60fc3c96786f7f9adcbb3a1053853/hrefCreating a NavController and backstack for each bottom navigation tab T

## Creating a BottomNavigation Multi-Stack using child Fragments with Simple-Stack

DevFeed: [Creating a BottomNavigation Multi-Stack using child Fragments with Simple-Stack](<https://devfeed.tech/articles/creating-a-bottomnavigation-multi-stack-using-child-fragments-with-simple-stack-25935.md>)

Original publisher: [Read original article](<https://zhuinden.medium.com/creating-a-bottomnavigation-multi-stack-using-child-fragments-with-simple-stack-c73c1ca3bbd4?source=rss-7a8d96da8cb6------2>)

Author: Gabor Varadi

Published: 2021-01-25T17:03:22Z

Content type: tutorial

Language: en

Sources: [Stories by Gabor Varadi on Medium](<https://devfeed.tech/sources/stories-by-gabor-varadi-on-medium.md>)

Topics: [navigation](<https://devfeed.tech/topics/navigation.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [bottom-navigation](<https://devfeed.tech/tags/bottom-navigation.md>), [bottomnavigationview](<https://devfeed.tech/tags/bottomnavigationview.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [fragments](<https://devfeed.tech/tags/fragments.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-navigation](<https://devfeed.tech/tags/jetpack-navigation.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [simple-stack](<https://devfeed.tech/tags/simple-stack.md>)

### AI overview

A tutorial on implementing bottom navigation with a separate navigation history stack for each tab using child fragments and Simple-Stack. It explains fragment attachment and detachment, lifecycle management, and keeping back stacks alive across configuration changes.

### Source excerpt

It's been a recurring question, regardless of navigation framework of choice: how is it possible to create a screen with a bottom navigation view, that would host a navigation history stack per each tab? Each framework has its own unique ways. For example, Jetpack Navigation provides NavigationExtensions as a sample, there's FragNav, but how would you do it with Simple-Stack? How bottom navigation with child fragments normally works If you intend to create a BottomNavigationView that is hosted by a Fragment (and that Fragment hosts each tab as a child fragment), there's a bit of work needed to be done. To keep the fragments alive while switching between them, they must all be added. However, to make sure that the fragments are in the correct lifecycle (stopped while not showing), it makes sense to detach them (and attach the one that is meant to be showing). https://medium.com/media/1667d9733c198c3ae611fd45504f6bd0/href This example is also available here. Please note that there is nothing specific to Simple-Stack in this snippet, this is how a fragment can manage its child fragments and keep only one of them attached, while the rest are detached. In fact, the NavigationAdvancedSample works the same way. We will use this knowledge later in the article. What Simple-Stack normally does When you use Simple-Stack, you typically install a Navigator using Navigator.install(). This allows a single global Backstack instance to be accessible through the Activity's context (and thus making it available to all views within the Activity), and provides automatic lifecycle management to ensure that navigation is handled correctly. https://medium.com/media/03bde713eca4e7ef47d7dae31f6e095d/href This is important to know, because if we want to create a Backstack for each Fragment within our BottomNavigationView, we must manage the lifecycle (and keep the Backstack instance alive across configuration changes) ourselves. Thankfully, this is actually quite simple to do! After all, frag

## Material Components for Android 1.2.0 is now available

DevFeed: [Material Components for Android 1.2.0 is now available](<https://devfeed.tech/articles/material-components-for-android-1-2-0-is-now-available-25992.md>)

Original publisher: [Read original article](<https://medium.com/google-design/material-components-for-android-1-2-0-is-now-available-aade483ed841?source=rss-37290b859aca------2>)

Author: Nick Rout

Published: 2020-08-04T18:42:47Z

Content type: release

Language: en

Sources: [Stories by Nick Rout on Medium](<https://devfeed.tech/sources/stories-by-nick-rout-on-medium.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>), [Android](<https://devfeed.tech/topics/android.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [navigation](<https://devfeed.tech/topics/navigation.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [jetpack-navigation](<https://devfeed.tech/tags/jetpack-navigation.md>), [material-components](<https://devfeed.tech/tags/material-components.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [material-theming](<https://devfeed.tech/tags/material-theming.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>)

### AI overview

Material Components for Android 1.2.0 introduces Material motion transition patterns, sliders, ShapeableImageView, and additional theming features. The release also includes bug fixes, accessibility improvements, and stabilization of features from earlier prereleases.

### Source excerpt

Material motion system, Sliders, ShapeableImageView, and more This article is also posted on the Material Design blog. We're excited to announce the release of Material Components for Android (MDC-Android) 1.2.0! A host of exciting new features have been added along with many bug fixes and accessibility improvements. Get the rundown below. Be sure to check out the release notes. If you're using MDC for the first time, also take a look at our getting started guide. What's new in 1.2.0? A fair bit has changed since we launched 1.1.0 in February -- we added the motion system, slider component, a widget for image shape theming, and more. The things you loved from the alpha, beta, and RC releases of 1.2.0 are now officially stable. If you haven't yet started using version 1.2.0 of MDC, there's never been a better time to update. Material motion Material's motion system includes a set of four transition patterns. They can help users understand and navigate an app, and reinforce relationships between components or full-screen views. The transition patterns are: Container transform Shared axis Fade through Fade MDC 1.2.0 enables Material motion in your Android app. The four transition patterns are implemented as classes built on top of both the AndroidX Transition library (androidx.transition), available in the com.google.android.material.transition package, and the Android Framework Transition library (android.transition), available in the com.google.android.material.transition.platform package. They can be used to transition between Fragments (including Jetpack Navigation), Activities, and Views. Container transform between Fragments (using Jetpack Navigation) <!-- fragment_a.xml --> <View android:id="@+id/start_view" android:transitionName="start_container" /><!-- fragment_b.xml --> <View android:id="@+id/end_view" android:transitionName="end_container" />// FragmentB.kt override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... sharedElem

## Kotlin Mumbai: Dagger and Jetpack Navigation

DevFeed: [Kotlin Mumbai: Dagger and Jetpack Navigation](<https://devfeed.tech/articles/kotlin-mumbai-dagger-and-jetpack-navigation-28387.md>)

Original publisher: [Read original article](<https://siddroid.com/post/post-march-kotlin-mumbai-2020/>)

Author: Siddhesh Patil

Published: 2020-04-05T10:03:09Z

Content type: article

Language: en

Sources: [Sid Patil - Android Engineer and Kotlin Advocate](<https://devfeed.tech/sources/sid-patil-android-engineer-and-kotlin-advocate.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [akshay-sawant](<https://devfeed.tech/tags/akshay-sawant.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [best-android-developer-groups-in-india](<https://devfeed.tech/tags/best-android-developer-groups-in-india.md>), [coronavirus](<https://devfeed.tech/tags/coronavirus.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dagger-2-for-android](<https://devfeed.tech/tags/dagger-2-for-android.md>), [developer-communities-in-mumbai](<https://devfeed.tech/tags/developer-communities-in-mumbai.md>), [jetpack-navigation](<https://devfeed.tech/tags/jetpack-navigation.md>), [jetpack-navigation-components](<https://devfeed.tech/tags/jetpack-navigation-components.md>), [kedarnath-naik](<https://devfeed.tech/tags/kedarnath-naik.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-user-group-mumbai](<https://devfeed.tech/tags/kotlin-user-group-mumbai.md>), [kug](<https://devfeed.tech/tags/kug.md>), [meetup](<https://devfeed.tech/tags/meetup.md>)

### AI overview

A report on moving the March 2020 Kotlin Mumbai meetup online during coronavirus lockdowns. The event covered Dagger 2 dependency injection and the Jetpack Navigation component, using tools including OBS, YouTube livestreaming, Google Meet, and Telegram.

### Source excerpt

With the current situation and lockdowns due to coronavirus, we had to roll up our sleeves and prepare for a fully online meetup.