Interface

LayoutModifier

A Modifier.Element that changes how its wrapped content is measured and laid out.

LayoutModifierSample

@Sampled
@Composable
fun LayoutModifierSample() {
    val verticalPadding =
        object : LayoutModifier {
            override fun MeasureScope.measure(
                measurable: Measurable,
                constraints: Constraints,
            ): MeasureResult {
                // an example modifier that adds 50 pixels of vertical padding.
                val padding = 50
                val placeable = measurable.measure(constraints.offset(vertical = -padding))
                return layout(placeable.width, placeable.height + padding) {
                    placeable.placeRelative(0, padding)
                }
            }
        }
    Box(Modifier.background(Color.Gray).then(verticalPadding)) {
        Box(Modifier.fillMaxSize().background(Color.DarkGray))
    }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: