mmaillot
02/25/2021, 4:02 PMColumn(modifier = Modifier.fillMaxHeight(), verticalArrangement = Arrangement.SpaceBetween) {
Header()
Content()
Bottom()
}
I have this code for the whole screen. In my Content
component, I have the 6 squares which are well aligned with SpaceAround
.
Column(
modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.SpaceAround,
) {
Row(
horizontalArrangement = Arrangement.SpaceAround,
modifier = Modifier.fillMaxWidth(),
) {
Square()
Square()
Square()
}
Row(
horizontalArrangement = Arrangement.SpaceAround,
modifier = Modifier.fillMaxWidth(),
) {
Square()
Square()
Square()
}
}
I want the green part to take all place between Header (fixed height) and ProgressBar (fixed height too).Timo Drick
02/25/2021, 4:07 PMmmaillot
02/25/2021, 4:14 PMTimo Drick
02/25/2021, 4:14 PMColumn {
Row { //top bar }
Column(Modifier.weight(1f)) {
//Green boxes
}
mmaillot
02/25/2021, 4:16 PMColumn(
modifier = Modifier.weight(1f).fillMaxWidth(),
verticalArrangement = Arrangement.SpaceAround,
) {
...
}
But failed to compile Expression 'weight' cannot be invoked as a function.
Timo Drick
02/25/2021, 4:17 PMColumn(modifier = Modifier.fillMaxHeight(), verticalArrangement = Arrangement.SpaceBetween) {
Header()
Column(Modifier.weight(1f).fillMaxWidth()) {
...
}
Bottom()
}
Se7eN
02/25/2021, 4:21 PMColumnScope
to use it. You'll have to pass Modifier.weight(1f)
to your Content
function or write your Content
function as fun ColumnScope.Content()
Column(modifier = Modifier.fillMaxHeight(), verticalArrangement = Arrangement.SpaceBetween) {
Header()
Content(modifier = Modifier.weight(1f))
Bottom()
}
@Composable fun Content(modifier: Modifier) {
Column(modifier = modifier) {
...
}
}
mmaillot
02/25/2021, 4:22 PM