Implementare il windowing avanzato

Questa sezione descrive gli utilizzi ottimali dell'interfaccia utente scalabile.

Attiva la funzionalità

Imposta il flag richiesto nel file di configurazione della UI di sistema (config.xml o simile):

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

Verifica la configurazione del sistema

Verifica che il sistema includa la funzionalità richiesta e disattivi eventuali funzionalità di finestre legacy o in conflitto:

  • Il sistema deve includere la funzionalità android.software.car.splitscreen_multitasking

  • Verifica che tutte le funzionalità di finestre legacy o di schermo diviso in conflitto con il nuovo modello di attività principale siano disattivate.

Definisci riquadri e varianti

Per dichiarare tutti i file di configurazione che contengono configurazioni Panel, aggiungi una risorsa array denominata window_states.

Per risolvere il mapping dei ruoli, i riquadri devono utilizzare l'attributo role per essere mappati alle app che ospitano. role fa riferimento a un array di nomi di componenti, ad esempio role="@array/nav_components.

Definisci le transizioni

All'interno di ogni definizione di riquadro, definisci le transizioni mappando gli eventi di sistema o personalizzati a una variante di destinazione. Ad esempio, per definire il comportamento del riquadro di navigazione:

<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>