# OrbiterPosition.EdgeAlignment

Artifact: [androidx.xr.compose:compose](https://developer.android.com/jetpack/androidx/releases/xr-compose) [View Source](https://cs.android.com/search?q=file:androidx/xr/compose/spatial/Orbiter.kt+class:androidx.xr.compose.spatial.OrbiterPosition.EdgeAlignment) Added in [1.0.0-beta02](https://developer.android.com/jetpack/androidx/releases/xr-compose#1.0.0-beta02)


```
value class OrbiterPosition.EdgeAlignment
```

<br />

*** ** * ** ***

Specifies how the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` is aligned relative to its parent's layout boundary.

Note: Calculates alignment based on the parent's rectangular layout bounds, not its visual shape or rounded corners. Use a custom offset in `https://developer.android.com/reference/kotlin/androidx/xr/compose/unit/DpVolumeOffset` to align with curved or non-rectangular contours.

## Summary

| ### Public companion properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/OrbiterPosition.EdgeAlignment` | `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/OrbiterPosition.EdgeAlignment#Center()` Centers the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` directly on the parent's layout boundary line. |
| `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/OrbiterPosition.EdgeAlignment` | `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/OrbiterPosition.EdgeAlignment#Inside()` Positions the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` fully inside the parent's layout boundary. |
| `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/OrbiterPosition.EdgeAlignment` | `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/OrbiterPosition.EdgeAlignment#Outside()` Positions the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` fully outside the parent's layout boundary. |

## Public companion properties

### Center

```
val Center: OrbiterPosition.EdgeAlignment
```

Centers the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` directly on the parent's layout boundary line.

The boundary line bisects the orbiter, placing it half-inside and half-outside the parent.

```kotlin
      +---+
      |                        |
+---|---+                  |
|  Orbiter  | SpatialPanel     |
+---|---+                  |
      |                        |
      +---+
```

### Inside

```
val Inside: OrbiterPosition.EdgeAlignment
```

Positions the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` fully inside the parent's layout boundary.

The orbiter completely overlaps the parent panel's layout bounds, functioning as an overlay.

```kotlin
+---+
|      SpatialPanel      |
+---+            |
|  Orbiter  |            |
+---+            |
|                        |
+---+
```

### Outside

```
val Outside: OrbiterPosition.EdgeAlignment
```

Positions the `https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable#Orbiter(androidx.xr.compose.spatial.ContentEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.xr.compose.spatial.OrbiterOffsetType,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.subspace.layout.SpatialShape,androidx.compose.ui.unit.Dp,kotlin.Boolean,kotlin.Function0)` fully outside the parent's layout boundary.

The orbiter does not overlap the parent panel's layout bounds. For example, a side rail will sit completely to the side of the parent.

```kotlin
          +---+
          |                        |
+---+                        |
| Orbiter |      SpatialPanel      |
+---+                        |
          |                        |
          +---+
```