<div class='sourceset sourceset-android'>Android</div>

```kotlin
public fun interface SubspaceMeasurePolicy
```

Defines the measure and layout behavior of a [SubspaceLayout](/jetpack-compose/androidx.xr.compose/compose/composable-functions/SubspaceLayout).

[SubspaceLayout](/jetpack-compose/androidx.xr.compose/compose/composable-functions/SubspaceLayout) and [SubspaceMeasurePolicy](/jetpack-compose/androidx.xr.compose/compose/interfaces/SubspaceMeasurePolicy) are the way Compose XR layouts (such as SpatialBox,
SpatialColumn, etc.) are built, and they can also be used to achieve custom layouts.

Based on [androidx.compose.ui.layout.MeasurePolicy](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasurePolicy).

## Functions

<h2 id="measure-measurables-constraints">measure</h2>

```kotlin
public fun SubspaceMeasureScope.measure(
        measurables: List<SubspaceMeasurable>,
        constraints: VolumeConstraints,
    ): SubspaceMeasureResult
```

The function that defines the measurement and layout. Each [SubspaceMeasurable](/jetpack-compose/androidx.xr.compose/compose/interfaces/SubspaceMeasurable) in the
`measurables` list corresponds to a layout child of the layout, and children can be measured
using the [SubspaceMeasurable.measure](/jetpack-compose/androidx.xr.compose/compose/interfaces/SubspaceMeasurable) method. This method takes the [VolumeConstraints](/jetpack-compose/androidx.xr.compose/compose/classes/VolumeConstraints)
which the child should respect; different children can be measured with different
constraints.

[SubspaceMeasureResult](/jetpack-compose/androidx.xr.compose/compose/interfaces/SubspaceMeasureResult) objects are usually created using the [SubspaceMeasureScope.layout](/jetpack-compose/androidx.xr.compose/compose/interfaces/SubspaceMeasureScope)
factory, which takes the calculated size of this layout, its alignment lines, and a block
defining the positioning of the children layouts.