Marko Novakovic
03/10/2021, 12:01 PMNavigationComponenet
and BottomNavigation
I have a problem with tabs being selected (code in thread)Marko Novakovic
03/10/2021, 12:01 PMScaffold(
bottomBar = {
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentRoute = navBackStackEntry?.arguments?.getString(KEY_ROUTE)
BottomNavigation(modifier = Modifier.navigationBarsPadding()) {
tabs.forEach { tab ->
println("${tab.name} | $currentRoute")
BottomNavigationItem(
modifier = Modifier.navigationBarsPadding(),
icon = {
Icon(
painter = painterResource(id = tab.icon),
contentDescription = stringResource(id = tab.label),
)
},
label = { Text(text = stringResource(id = tab.label)) },
selected = tab.name == currentRoute,
onClick = {
navController.navigate(tab.name) {
popUpTo = navController.graph.startDestination
launchSingleTop = true
}
},
alwaysShowLabel = false,
selectedContentColor = MaterialTheme.colors.secondary,
unselectedContentColor = LocalContentColor.current,
)
}
}
}
)
Marko Novakovic
03/10/2021, 12:01 PMScaffold
is just NavGraphMarko Novakovic
03/10/2021, 12:02 PMBottomNavigationItem
for that tab is not selected and currentRoute
is null
Marko Novakovic
03/10/2021, 12:03 PMMarko Novakovic
03/10/2021, 12:05 PMpop
behavior I have there but shouldn’t it pop and than put new destination and currentRoute
?Nikola Drljaca
03/10/2021, 2:25 PMNikola Drljaca
03/10/2021, 2:26 PMMarko Novakovic
03/10/2021, 2:26 PMNikola Drljaca
03/10/2021, 2:26 PM