FollowBehavior

@ExperimentalFollowingSubspaceApi
sealed class FollowBehavior


A FollowBehavior controls the motion of content as it is following another target, such as a user's head. Currently the options include "soft", which gradually catches up to the target and "static", which does not continuously follow the target.

FollowingSubspace has been deprecated. Use androidx.xr.compose.spatial.Subspace with androidx.xr.compose.subspace.animation.follow.FollowMode instead.

Summary

Constants

const Int

This property is deprecated. FollowingSubspace has been deprecated.

const Int

This property is deprecated. FollowingSubspace has been deprecated.

Public companion functions

FollowBehavior
Soft(durationMs: @IntRange(from = 100) Int)

This function is deprecated. FollowingSubspace has been deprecated.

Public companion properties

FollowBehavior

This property is deprecated. FollowingSubspace has been deprecated.

FollowBehavior

This property is deprecated. FollowingSubspace has been deprecated.

Protected constructors

This function is deprecated. FollowingSubspace has been deprecated.

Constants

DEFAULT_SOFT_DURATION_MS

const val DEFAULT_SOFT_DURATION_MS = 1500: Int

The default duration, in milliseconds, for a soft follow animation.

FollowingSubspace has been deprecated.

MIN_SOFT_DURATION_MS

const val MIN_SOFT_DURATION_MS = 100: Int

The minimum allowable duration in milliseconds for a soft follow animation.

FollowingSubspace has been deprecated.

Public companion functions

Soft

Added in 1.0.0-beta02
Deprecated in 1.0.0-beta02
fun Soft(durationMs: @IntRange(from = 100) Int = DEFAULT_SOFT_DURATION_MS): FollowBehavior

Creates a behavior where the content smoothly animates to follow the target's movements.

This behavior is driven by a critically damped spring physics model, which uses exponential decay to smoothly decelerate the trailing entity as it approaches the target. The entity will accelerate to catch up and then decelerate without overshoot, simulating real-world physical inertia.

The use of this spring/exponential decay model is not optional, but the total duration of the motion can be configured via durationMs.

FollowingSubspace has been deprecated. Use androidx.xr.compose.spatial.Subspace with androidx.xr.compose.subspace.animation.follow.FollowMode.soft instead.

Parameters
durationMs: @IntRange(from = 100) Int = DEFAULT_SOFT_DURATION_MS

Amount of milliseconds it takes for the content to catch up to the user. Default is DEFAULT_SOFT_DURATION_MS milliseconds. A value less than MIN_SOFT_DURATION_MS will be rounded up to MIN_SOFT_DURATION_MS to allow enough time to complete the content movement.

Returns
FollowBehavior

A FollowBehavior instance configured for soft following.

Public companion properties

Static

Added in 1.0.0-beta02
Deprecated in 1.0.0-beta02
val Static: FollowBehavior

The content is placed once based on the target's initial pose and does not follow subsequent movements.

FollowingSubspace has been deprecated. Use androidx.xr.compose.spatial.Subspace with androidx.xr.compose.subspace.animation.follow.FollowMode.snap instead.

Tight

Added in 1.0.0-beta02
Deprecated in 1.0.0-beta02
val Tight: FollowBehavior

The content follows the target as closely as possible.

FollowingSubspace has been deprecated. Use androidx.xr.compose.spatial.Subspace with androidx.xr.compose.subspace.animation.follow.FollowMode.tight instead.

Protected constructors

FollowBehavior

protected FollowBehavior()