用户可在两种模式(Home Space 或 Full Space)下体验您的应用。在 Home Space 中,用户可以同时使用您的应用和其他应用,实现多任务处理。在全空间模式下,您的应用是用户体验的焦点,可充分利用 Android XR 的沉浸式功能。
空间化目前仅在“全空间”模式下受支持。您的应用可以过渡到全空间模式,以便利用空间和 3D 功能。当您的应用获得焦点时,您可以通过从 XR 会话请求相应模式,在这些模式之间进行转换。
除非您按照声明启动时的默认模式部分中所述的方式另行指定,否则您的应用会默认在主屏幕空间中打开。
居家空间与完整空间之间的转换
如需在主屏幕空间和全屏空间之间切换,您需要向 Session
请求操作模式。如以下示例所示,您可以使用这些请求,以便用户通过点击按钮在模式之间切换。
@Composable
private fun HomeSpaceFullSpaceToggleButton() {
val xrSession = checkNotNull(LocalSession.current)
val uiIsSpatialized = LocalSpatialCapabilities.current.isSpatialUiEnabled
val toggleModes = if (uiIsSpatialized) {
{ xrSession.requestHomeSpaceMode() }
} else {
{ xrSession.requestFullSpaceMode() }
}
IconButton(
onClick = {
toggleModes()
}
) {
Icon(
painter = painterResource(id = drawable),
contentDescription = stringResource(contentDescription)
)
}
}
请参阅设计指南,详细了解如何从主屏幕切换到全屏模式,以及如何在两者之间进行最佳切换。
声明启动默认模式
如需选择应用是在 Home 空间还是全屏空间中启动,请将以下几行代码添加到 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" />