Transición del espacio principal al espacio completo

Un usuario puede experimentar tu app en dos modos: Home Space o Full Space. En el espacio doméstico, un usuario puede realizar varias tareas a la vez con tu app ejecutándose junto con otras apps. En Full Space, tu app ocupa un lugar central como el foco de la experiencia del usuario con acceso completo a las capacidades envolventes de Android XR.

Actualmente, la espacialización solo es compatible con el espacio completo. Tu app puede realizar la transición a Full Space para aprovechar las capacidades espaciales y 3D. Cuando tu app está enfocada, puedes realizar la transición entre estos modos solicitando el modo correspondiente desde la sesión de XR.

Tu app se abre en Home Space de forma predeterminada, a menos que especifiques lo contrario, como se describe en la sección Cómo declarar el modo predeterminado para el inicio.

Transición entre el espacio principal y el espacio completo

Para realizar la transición entre Home Space y Full Space, deberás solicitar el modo de operación desde Session. Como se muestra en el siguiente ejemplo, puedes usar estas solicitudes para que el usuario pueda hacer clic en un botón para realizar la transición entre los modos.

@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)
        )
    }
}

Consulta la guía de diseño para obtener más información sobre el cambio del espacio principal al espacio completo y cómo realizar la mejor transición entre ambos.

Cómo declarar el modo predeterminado para el inicio

Para elegir si tu app se inicia en Home Space o Full Space, agrega las siguientes líneas al archivo de manifiesto de 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" />

Consulta también