从居家空间切换到完整空间

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
扩展现实头戴设备
有线扩展现实眼镜

用户可以在两种模式下体验您的应用:主共享空间或全沉浸空间。在主共享空间中,用户可以同时处理多项任务,让您的应用与其他应用并排运行。在全沉浸空间中,您的应用会成为用户体验的焦点,并可完全访问 Android XR 的沉浸式功能。

除非您按照声明默认启动模式部分中的说明另行指定,否则应用默认会在主共享空间中打开。

空间化仅在全沉浸空间中受支持。应用可以切换到全沉浸空间,以利用空间和 3D 功能。当应用获得焦点时,您可以通过请求相应的空间在这些模式之间切换。

使用 SpaceToggleButton 在主共享空间和全沉浸空间之间切换

如需在主共享空间和全沉浸空间之间切换,请使用 Material Design for XR 库中的 SpaceToggleButton 可组合项。

这是一个可组合按钮,可根据当前空间模式进行调整,并在全沉浸空间和主共享空间之间切换。

在主共享空间和全沉浸空间之间构建自定义过渡效果

如果您使用的是 Jetpack Compose for XR 库,请使用 LocalSession 组合局部变量请求 Home Space 或 Full Space。

val session = LocalSession.current ?: return
session.scene.requestHomeSpace()
// or
session.scene.requestFullSpace()

如果您使用的是 Jetpack SceneCore 库,则可以从 Session 请求相应的空间;请参阅从 Jetpack SceneCore 访问会话。

xrSession.scene.requestHomeSpace()

请参阅我们的设计指南,详细了解主共享空间和全沉浸空间,以及如何在两者之间实现最佳过渡。

声明默认启动模式

或者,您也可以将以下代码行添加到 Android 清单文件中,以选择应用应在哪个空间中打开:

<!-- Launch in Full Space. -->
<property
   android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
   android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED" />

<!-- Or, launch in Home Space. -->
<property
   android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
   android:value="XR_ACTIVITY_START_MODE_HOME_SPACE" />

另请参阅