Implementar o uso avançado de janelas

Esta seção descreve os usos ideais da interface escalonável.

Ativar o recurso

Defina a flag obrigatória no arquivo de configuração da interface do sistema (config.xml ou similar):

<bool name="config_enableScalableUI">true</bool>

Verificar a configuração do sistema

Verifique se o sistema inclui o recurso necessário e desative todos os recursos de janela legados ou conflitantes:

  • O sistema precisa incluir o recurso, android.software.car.splitscreen_multitasking

  • Confirme se todos os recursos legados de janela ou tela dividida que entram em conflito com o novo modelo de tarefa raiz estão desativados.

Definir painéis e variantes

Para declarar todos os arquivos de configuração que contêm configurações Panel, adicione um recurso de matriz chamado window_states.

Para resolver o mapeamento de papéis, os painéis precisam usar o atributo role para serem mapeados aos apps que hospedam. role faz referência a uma matriz de nomes de componentes, como role="@array/nav_components.

Definir transições

Em cada definição de painel, defina as transições mapeando eventos do sistema ou personalizados para uma variante de destino. Por exemplo, para definir o comportamento do painel de navegação:

<Transitions>
    <Transition onEvent="_System_TaskOpenEvent" toVariant="@id/opened"/>
    <Transition onEvent="_System_HomeEvent" toVariant="@id/closed"/>
    <Transition onEvent="@string/event_system_nav_focus_lost" toVariant="@id/minimized"/>
</Transitions>