<h2 id="orbiter-position-offset-offsettype-alignment-shape-elevation-shouldrenderinnonspatial-content">Orbiter</h2>

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

```kotlin
@Composable
@ComposableOpenTarget(index = -1)
public fun Orbiter(
    position: ContentEdge.Horizontal,
    offset: Dp = 0.dp,
    offsetType: OrbiterOffsetType = OrbiterOffsetType.OuterEdge,
    alignment: Alignment.Horizontal = Alignment.CenterHorizontally,
    shape: SpatialShape = OrbiterDefaults.Shape,
    elevation: Dp = OrbiterDefaults.Elevation,
    shouldRenderInNonSpatial: Boolean = true,
    content: @Composable @UiComposable () -> Unit,
)
```

A composable that creates an orbiter along the top or bottom edges of a view.

Orbiters are floating elements that are typically used to control the content within spatial
panels and other entities that they're anchored to. They allow the content to have more space and
give users quick access to features like navigation without obstructing the main content.

The size of the [Orbiter](/jetpack-compose/androidx.xr.compose/compose/composable-functions/Orbiter) is constrained by the dimensions of the parent spatial component it is
anchored to (e.g., a [androidx.xr.compose.subspace.SpatialPanel](/jetpack-compose/androidx.xr.compose/compose/composable-functions/SpatialPanel)). If it's not placed within a
specific spatial component, it defaults to the main window's size. Consequently, an [Orbiter](/jetpack-compose/androidx.xr.compose/compose/composable-functions/Orbiter)'s
content cannot be larger than its parent's dimensions.

```
Orbiter(position = ContentEdge.Top, offset = 10.dp) { Text("This is a top edge Orbiter")
}
```

#### Parameters

| | |
| --- | --- |
| position | The edge of the orbiter. Use [ContentEdge.Top](/jetpack-compose/androidx.compose.ui/ui-test/properties/top) or [ContentEdge.Bottom](/jetpack-compose/androidx.compose.ui/ui-test/properties/bottom). |
| offset | The offset of the orbiter based on the outer edge of the orbiter. |
| offsetType | The type of offset used for positioning the orbiter. |
| alignment | The alignment of the orbiter. Use `Alignment.CenterHorizontally` or `Alignment.Start` or `Alignment.End`. |
| shape | The shape of this Orbiter when it is rendered in 3D space. |
| elevation | The z-direction elevation level of this Orbiter. |
| shouldRenderInNonSpatial | In a non-spatial environment, if `true` the orbiter content is rendered as if the orbiter wrapper was not present and removed from the flow otherwise. In spatial environments, this flag is ignored. |
| content | The content of the orbiter. |

<hr class="docs-overload-divider">

<h2 id="orbiter-position-offset-offsettype-alignment-shape-elevation-shouldrenderinnonspatial-content-2">Orbiter</h2>

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

```kotlin
@Composable
@ComposableOpenTarget(index = -1)
public fun Orbiter(
    position: ContentEdge.Vertical,
    offset: Dp = 0.dp,
    offsetType: OrbiterOffsetType = OrbiterOffsetType.OuterEdge,
    alignment: Alignment.Vertical = Alignment.CenterVertically,
    shape: SpatialShape = OrbiterDefaults.Shape,
    elevation: Dp = OrbiterDefaults.Elevation,
    shouldRenderInNonSpatial: Boolean = true,
    content: @Composable @UiComposable () -> Unit,
)
```

A composable that creates an orbiter along the start or end edges of a view.

Orbiters are floating elements that are typically used to control the content within spatial
panels and other entities that they're anchored to. They allow the content to have more space and
give users quick access to features like navigation without obstructing the main content.

The size of the [Orbiter](/jetpack-compose/androidx.xr.compose/compose/composable-functions/Orbiter) is constrained by the dimensions of the parent spatial component it is
anchored to (e.g., a [androidx.xr.compose.subspace.SpatialPanel](/jetpack-compose/androidx.xr.compose/compose/composable-functions/SpatialPanel)). If it's not placed within a
specific spatial component, it defaults to the main window's size. Consequently, an [Orbiter](/jetpack-compose/androidx.xr.compose/compose/composable-functions/Orbiter)'s
content cannot be larger than its parent's dimensions.

```
Orbiter(position = ContentEdge.Start, offset = 10.dp) { Text("This is a start edge Orbiter")
}
```

#### Parameters

| | |
| --- | --- |
| position | The edge of the orbiter. Use `ContentEdge.Start` or `ContentEdge.End`. |
| offset | The offset of the orbiter based on the outer edge of the orbiter. |
| offsetType | The type of offset used for positioning the orbiter. |
| alignment | The alignment of the orbiter. Use `Alignment.CenterVertically` or [Alignment.Top](/jetpack-compose/androidx.compose.ui/ui-test/properties/top) or [Alignment.Bottom](/jetpack-compose/androidx.compose.ui/ui-test/properties/bottom). |
| shape | The shape of this Orbiter when it is rendered in 3D space. |
| elevation | The z-direction elevation level of this Orbiter. |
| shouldRenderInNonSpatial | In a non-spatial environment, if `true` the orbiter content is rendered as if the orbiter wrapper was not present and removed from the flow otherwise. In spatial environments, this flag is ignored. |
| content | The content of the orbiter. |