Implementare il windowing avanzato

Questa sezione descrive gli utilizzi ottimali di Scalable UI.

Attiva la funzionalità

Imposta il flag richiesto nel file di configurazione dell'interfaccia utente di sistema (config.xml o simile):

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

Verificare la configurazione del sistema

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

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

  • Verifica che le funzionalità di visualizzazione a finestre o in modalità split-screen precedenti in conflitto con il nuovo modello di attività principale siano disattivate.

Definisci i pannelli e le varianti

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

Per gestire la mappatura dei ruoli, i riquadri devono utilizzare l'attributo role da mappare 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 del pannello, definisci le transizioni mappando gli eventi di sistema o personalizzati a una variante di destinazione. Ad esempio, per definire il comportamento del pannello 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>