MeasureResult


Interface holding the size and alignment lines of the measured layout, as well as the children positioning logic. placeChildren is the function used for positioning children. Placeable.placeAt should be called on children inside placeChildren. The alignment lines can be used by the parent layouts to decide layout, and can be queried using the Placeable.get operator. Note that alignment lines will be inherited by parent layouts, such that indirect parents will be able to query them as well.

Summary

Public functions

Unit

A method used to place children of this layout.

Cmn

Public properties

Map<AlignmentLineInt>

Alignment lines that can be used by parents to align this layout.

Cmn
Int

The measured height of the layout, in pixels.

Cmn
open ((Ruler) -> Boolean)?

Works in conjunction with rulerProvider to provide Ruler values individually.

Cmn
open (RulerScope.(Ruler) -> Unit)?

A lambda that can provide Ruler values.

Cmn
open (RulerScope.() -> Unit)?

An optional lambda function used to create Rulers for child layout.

Cmn
Int

The measured width of the layout, in pixels.

Cmn

Public functions

placeChildren

fun placeChildren(): Unit

A method used to place children of this layout. It may also be used to measure children that were not needed for determining the size of this layout.

Public properties

alignmentLines

val alignmentLinesMap<AlignmentLineInt>

Alignment lines that can be used by parents to align this layout. This only includes the alignment lines of this layout and not children.

height

val heightInt

The measured height of the layout, in pixels.

isRulerProvided

open val isRulerProvided: ((Ruler) -> Boolean)?

Works in conjunction with rulerProvider to provide Ruler values individually. A return value of true indicates that rulerProvider might be able to provide a value for the passed-in Ruler. A value of false means it can never provide the value.

rulerProvider

open val rulerProvider: (RulerScope.(Ruler) -> Unit)?

A lambda that can provide Ruler values. When isRulerProvided returns true for a Ruler, rulerProvider will be called to provide its value. rulerProvider can choose not to provide the value if it isn't available. It can also provide more Ruler values if it is convenient to provide them. For example, it may be convenient to provide all values for a RectRulers when one is provided.

rulers

open val rulers: (RulerScope.() -> Unit)?

An optional lambda function used to create Rulers for child layout. This may be reevealuated when the layout's position moves.

width

val widthInt

The measured width of the layout, in pixels.