mgrazianodecastro
02/27/2023, 7:24 PMFrancesc
02/27/2023, 7:26 PMlayout
modifier where you set the constraints for the content as the incoming constraints, minus whatever padding you want, which can be a percentage of the incoming constraintsmgrazianodecastro
02/27/2023, 7:29 PMhorizontalArrangement = Arrangement.spacedBy(x)
, for exampleFrancesc
02/27/2023, 7:33 PM@Preview(widthDp = 360, heightDp = 420)
@Composable
fun PercentPadding() {
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.Red)
) {
Box(
modifier = Modifier
.layout { measurable, constraints ->
val marginPercent = 10
val widthPadding = constraints.maxWidth * marginPercent / 100
val heightPadding = constraints.maxHeight * marginPercent / 100
val childConstraints = constraints.copy(
maxWidth = constraints.maxWidth - 2 * widthPadding,
maxHeight = constraints.maxHeight - 2 * heightPadding,
)
val placeable = measurable.measure(childConstraints)
layout(
width = placeable.width,
height = placeable.height
) {
placeable.placeRelative(
x = widthPadding,
y = heightPadding,
)
}
}
.fillMaxSize()
.background(Color.Blue)
)
}
}
mgrazianodecastro
02/27/2023, 7:36 PMChris Sinco [G]
02/27/2023, 11:59 PMmgrazianodecastro
02/28/2023, 2:07 PM