layout
Functions summary
Modifier |
Modifier.layout(measure: MeasureScope.(Measurable, Constraints) -> MeasureResult)Creates a |
Cmn
|
Functions
Modifier.layout
fun Modifier.layout(measure: MeasureScope.(Measurable, Constraints) -> MeasureResult): Modifier
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.
Example usage:
import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.layout import androidx.compose.ui.unit.offset 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)) }
| See also | |
|---|---|
LayoutModifier |