Skip to content

Navigate between composables

Use a EunGabiController

The EunGabiController provides ways to navigate between composables. See the Create Navigation Controller section for instructions on instantiating the EunGabiController.

val controller = rememberEunGabiController()

To navigate to a composable, you should call the EunGabiController.navigate. navigate() takes a route defined in the EunGabiGraphBuilder of EunGabiNavHost. See Create a Navigation Host Composable section for instructions on creating a EunGabiGraph.

controller.navigate("ScreenA")

By calling this, you can navigate to the ScreenA route.

Pop up to a destination

To remove destinations from the back stack when navigating from one destination to another, add a popUpTo() argument to the associated navigate() function call.

You can include an argument for the inclusive option with a value of true to also pop up a destination you have specified in popUpTo().

Let's assume we have screens A, B, C, and D in the back stack.
The following snippets demonstrate how to pop up to the ScreenA when navigating up from ScreenD:

controller.navigate("ScreenD") {
    popUpTo("ScreenB") {
        inclusive = true
    }
}

Tip

If the inclusive option were false, the result would be a pop-up to ScreenB.

You can navigate to the previous screen by calling NavController.navigateUp. It returns a Boolean value indicating the success of the back navigation.

controller.navigateUp()