用户可以通过两种模式体验您的应用:主空间或全空间。在主空间中,用户可以多任务处理,您的应用与其他应用并排运行。在全空间中,您的应用作为用户体验的焦点占据中心位置,并可完全访问 Android XR 的沉浸式功能。
除非您另行指定,否则您的应用默认在主空间中打开,详见声明启动的默认模式部分。
空间化仅在全空间中受支持。您的应用可以过渡到全空间以利用空间和 3D 功能。当您的应用获得焦点时,您可以通过请求相应的空间在这些模式之间切换。
在主空间和全空间之间切换
如果您正在使用 Jetpack Compose for XR 库,请使用 LocalSpatialConfiguration
组合局部请求主空间或全空间。
LocalSpatialConfiguration.current.requestHomeSpaceMode() // or LocalSpatialConfiguration.current.requestFullSpaceMode()
如果您正在使用 Jetpack SceneCore 库,您可以从 Session
请求相应的空间;请参阅从 Jetpack SceneCore 访问会话。
xrSession.scene.spatialEnvironment.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_MANAGED" />