用户可以在两种模式下体验您的应用: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" />