Transição do espaço compacto para o espaço ampliado

O usuário pode usar o app em dois modos: "Espaço da casa" ou "Espaço total". No espaço inicial, o usuário pode realizar várias tarefas ao mesmo tempo com seu app em execução lado a lado com outros apps. No espaço total, o app é o foco da experiência do usuário, com acesso total aos recursos imersivos do Android XR.

No momento, a espacialização só é compatível com o espaço total. Seu app pode fazer a transição para o espaço total para aproveitar os recursos espaciais e 3D. Quando o app tem foco, é possível fazer a transição entre esses modos solicitando o modo correspondente da sessão de XR.

O app é aberto no espaço da tela inicial por padrão, a menos que você especifique o contrário, conforme descrito na seção Declarar o modo padrão de inicialização.

Transição entre o espaço compacto e o espaço ampliado

Para fazer a transição entre o espaço da casa e o espaço total, solicite o modo de operação no Session. Como mostrado no exemplo abaixo, é possível usar essas solicitações para que o usuário possa alternar entre os modos clicando em um botão.

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

Consulte as orientações de design para saber mais sobre a transição do espaço da página inicial para o espaço completo e como fazer isso da melhor forma.

Declarar o modo padrão de inicialização

Para escolher se o app será iniciado no espaço da tela inicial ou no espaço total, adicione as seguintes linhas ao arquivo de manifesto do 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" />

Veja também