RulerScope
Interface
Common
@MeasureScopeMarker
interface RulerScope : Density
A scope used in MeasureScope.layout
for the rulers
parameter to allow a layout to define
Ruler
values for children.
Properties
Common
val coordinates: LayoutCoordinates
LayoutCoordinates
of the position in the hierarchy that the Ruler
will be
provided
.
Functions
infix fun Ruler.provides(value: Float)
Provides a constant value for a Ruler
.
infix fun VerticalRuler.providesRelative(value: Float)
Provides a VerticalRuler
value that is relative to the left side in an LTR layout or right
side on an RTL layout.
Code Examples
RulerProducerUsage
@Composable
fun RulerProducerUsage(content: @Composable BoxScope.() -> Unit) {
val safeInsets = WindowInsets.safeContent
Box(
Modifier.fillMaxSize().layout { measurable, constraints ->
val placeable = measurable.measure(constraints)
layout(
width = placeable.width,
height = placeable.height,
rulers = {
val height = coordinates.size.height
SafeBottomRuler provides (height - safeInsets.getBottom(this)).toFloat()
},
) {
placeable.place(0, 0)
}
},
content = content,
)
}