layout
Compose Modifier
Common
fun Modifier.layout(measure: MeasureScope.(Measurable, Constraints) -> MeasureResult) =
this then LayoutElement(measure)
Creates a LayoutModifier
that allows changing how the wrapped element is measured and laid out.
This is a convenience API of creating a custom LayoutModifier
modifier, without having to
create a class or an object that implements the LayoutModifier
interface. The intrinsic
measurements follow the default logic provided by the LayoutModifier
.
Code Examples
ConvenienceLayoutModifierSample
@Composable
fun ConvenienceLayoutModifierSample() {
Box(
Modifier.background(Color.Gray).layout { measurable, constraints ->
// an example modifier that adds 50 pixels of vertical padding.
val padding = 50
val placeable = measurable.measure(constraints.offset(vertical = -padding))
layout(placeable.width, placeable.height + padding) {
placeable.placeRelative(0, padding)
}
}
) {
Box(Modifier.fillMaxSize().background(Color.DarkGray))
}
}