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,
)
}
