Expand description
Navigation for Cranpose: a typed back stack, a NavHost that shows its top
screen, and a view model store per screen.
| Android | Cranpose |
|---|---|
rememberNavController() + startDestination | rememberNavController, a Copy NavController |
NavHost(navController) { composable<Route> { } } | NavHost with a match on the route |
NavHost(enterTransition, exitTransition) | NavHostWith |
navigate(route), popBackStack(), navigateUp() | NavController::navigate, NavController::pop_back_stack, NavController::navigate_up |
navigate(route) { popUpTo(..) { inclusive }; launchSingleTop } | NavController::navigate_with and NavOptions |
popBackStack(route, inclusive) | NavController::pop_back_stack_to |
currentBackStackEntryAsState(), currentBackStack | NavController::current_route, NavController::back_stack |
viewModel() scoped to a NavBackStackEntry | cranpose_coroflow::viewModel inside a screen |
A route is any Clone + PartialEq value, usually an enum whose variants
carry the screen’s arguments.
Structs§
- NavController
- The back stack of a
NavHost— Android’sNavController. - NavOptions
- How
NavController::navigate_withchanges the back stack — Android’sNavOptions.
Functions§
- NavHost
- Shows the screen on top of
controller’s back stack — Android’sNavHost. - NavHost
With NavHostwith its owntransitionbetween screens — Compose’sNavHost(enterTransition, exitTransition)for a fade.- remember
NavController - A
NavControllerwhose back stack starts atstart— Android’srememberNavController()plusNavHost(startDestination).