Si vous ne voulez pas avoir une vue tronquée car elle passe sous la bottom bar
Mon code de départ ressemblait à ça :
Scaffold(
bottomBar = { BottomNavigationBar(navController) },
topBar = { Text("Coucou") }
) {
PlayScreen()
}
C’est bien mais sans plus car la vue PlayScreen allait se terminer sous la BottomNavigationBar
@Composable
fun PlayScreen() {
Column(
modifier = Modifier
.fillMaxSize(),
verticalArrangement = Arrangement.SpaceBetween
) {
Text(
text = "Play game"
)
Text(
text = "Play game"
)
}
}
Pour éviter cela, il y a un paramètre sur Scaffold qui s’appelle innerPadding (de type PaddingValues qui permet de passer a la vue finale les paddings à rajouter pour qu’elle ne déborde pas
Ce qui donne
Scaffold(
bottomBar = { BottomNavigationBar(navController) },
topBar = { Text("Coucou") }
) { innerPadding ->
PlayScreen(padding = innerPadding)
}
Et dans la vue finale
@Composable
fun PlayScreen(padding: PaddingValues) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(padding),
verticalArrangement = Arrangement.SpaceBetween
) {
Text(
text = "Play game"
)
Text(
text = "Play game"
)
}
}
Et la plus de soucis