OnGloballyPositionedModifier


A modifier whose onGloballyPositioned is called with the final LayoutCoordinates of the Layout when the global position of the content may have changed. Note that it will be called after a composition when the coordinates are finalized.

Usage example:

import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.size import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.layout.positionInRoot import androidx.compose.ui.layout.positionInWindow import androidx.compose.ui.unit.dp Column(  Modifier.onGloballyPositioned { coordinates ->  // This will be the size of the Column.  coordinates.size  // The position of the Column relative to the application window.  coordinates.positionInWindow()  // The position of the Column relative to the Compose root.  coordinates.positionInRoot()  // These will be the alignment lines provided to the layout (empty here for Column).  coordinates.providedAlignmentLines  // This will be a LayoutCoordinates instance corresponding to the parent of Column.  coordinates.parentLayoutCoordinates  } ) {  Box(Modifier.size(20.dp).background(Color.Green))  Box(Modifier.size(20.dp).background(Color.Blue)) }

Summary

Public functions

Unit

Called with the final LayoutCoordinates of the Layout after measuring.

Cmn

Inherited functions

From androidx.compose.ui.Modifier
open infix Modifier
then(other: Modifier)

Concatenates this modifier with another.

Cmn
From androidx.compose.ui.Modifier.Element
open Boolean
all(predicate: (Modifier.Element) -> Boolean)

Returns true if predicate returns true for all Elements in this Modifier or if this Modifier contains no Elements.

Cmn
open Boolean
any(predicate: (Modifier.Element) -> Boolean)

Returns true if predicate returns true for any Element in this Modifier.

Cmn
open R
<R : Any?> foldIn(initial: R, operation: (Modifier.Element, R) -> R)

Accumulates a value starting with initial and applying operation to the current value and each element from outside in.

Cmn
open R
<R : Any?> foldOut(initial: R, operation: (Modifier.Element, R) -> R)

Accumulates a value starting with initial and applying operation to the current value and each element from inside out.

Cmn

Public functions

onGloballyPositioned

fun onGloballyPositioned(coordinates: LayoutCoordinates): Unit

Called with the final LayoutCoordinates of the Layout after measuring. Note that it will be called after a composition when the coordinates are finalized. The position in the modifier chain makes no difference in either the LayoutCoordinates argument or when the onGloballyPositioned is called.