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

适用的 XR 设备
本指南可帮助您为这些类型的 XR 设备打造体验。
XR 头戴设备
有线 XR 眼镜

用户可以在两种模式下体验您的应用:Home Space 或 Full Space。在主共享空间中,用户可以同时运行您的应用和其他应用,从而进行多任务处理。在全沉浸空间模式下,您的应用将成为用户体验的焦点,并可完全访问 Android XR 的沉浸式功能。

除非您另有指定(如声明启动的默认模式部分中所述),否则应用默认在主共享空间中打开。

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

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

如需在 Home Space 和 Full Space 之间转换,请使用 Material Design for XR 库中的 SpaceToggleButton 可组合项。

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

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

如果您使用的是 Jetpack Compose XR 库,请使用 LocalSpatialConfiguration 本地组合请求 Home Space 或 Full Space。

LocalSpatialConfiguration.current.requestHomeSpaceMode()
// or
LocalSpatialConfiguration.current.requestFullSpaceMode()

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

xrSession.scene.requestHomeSpaceMode()

如需查看如何使用这些请求通过点击按钮在模式之间转换的示例,请参阅学习 Android XR 基础知识:第 1 部分 - 模式和空间面板 Codelab。我们还建议您查看我们的设计指南,详细了解主共享空间模式到全沉浸空间模式的转换,以及如何在这两种模式之间实现最佳转换。

声明启动的默认模式

或者,您也可以将以下代码行添加到 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" />

另请参阅