mgrazianodecastro
03/06/2023, 5:09 PM----------------------------------------------------
| A | | C | |
----------------------------------------------------
CenterStart
for A, and Center
for Cephemient
03/06/2023, 5:17 PMRow {
A()
Spacer(modifier = Modifier.weight(1f))
C()
Spacer(modifier = Modifier.weight(1f)
}
mgrazianodecastro
03/06/2023, 5:18 PMMarco Pierucci
03/06/2023, 5:18 PMhorizontalArrangement = Arrangement.SpaceBetween
and add a third empty composable ( like a box or something)?ephemient
03/06/2023, 5:18 PMmgrazianodecastro
03/06/2023, 5:19 PMephemient
03/06/2023, 5:22 PMmgrazianodecastro
03/06/2023, 5:24 PMFrancesc
03/06/2023, 6:46 PMmgrazianodecastro
03/06/2023, 7:00 PMephemient
03/06/2023, 8:05 PMBox(modifier = Modifier.fillMaxWidth()) { A(modifier = Modifier.align(Alignment.CenterStart)); B(modifier = Modifier.align(Alignment.Center)) }
, but also prevent them from overlapping:
Layout(
content = {
A()
B()
},
modifier = Modifier.fillMaxWidth(),
measurePolicy = { measureables, constraints ->
check(measureables.size == 2)
val placeableA = measureables[0].measure(constraints.copy(minWidth = 0))
val placeableB = measureables[1].measure(constraints.copy(minWidth = 0).offset(horizontal = -placeableA.width))
val width = constraints.constrainWidth(placeableA.width + placeableB.width)
val height = constraints.constrainHeight(maxOf(placeableA.height, placeableB.height))
layout(width, height) {
placeableA.placeRelative(0, (height - placeableA.height) / 2)
placeableB.placeRelative(((width - placeableB.width) / 2).coerceAtLeast(placeableA.width), (height - placeableB.height) / 2)
}
}
)
mgrazianodecastro
03/07/2023, 2:33 PM