Implémenter le fenêtrage avancé

Cette section décrit les utilisations optimales de l'UI évolutive.

Activer la fonctionnalité

Définissez l'indicateur requis dans votre fichier de configuration de l'interface utilisateur du système (config.xml ou similaire) :

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

Vérifier la configuration du système

Vérifiez que votre système inclut la fonctionnalité requise et désactive les fonctionnalités de fenêtrage anciennes ou conflictuelles :

  • Le système doit inclure la fonctionnalité android.software.car.splitscreen_multitasking.

  • Vérifiez que toutes les anciennes fonctionnalités de fenêtrage ou d'écran partagé qui entrent en conflit avec le nouveau modèle de tâche racine sont désactivées.

Définir des panneaux et des variantes

Pour déclarer tous les fichiers de configuration contenant des configurations Panel, ajoutez une ressource de tableau nommée window_states.

Pour résoudre le mappage des rôles, les panneaux doivent utiliser l'attribut role à mapper sur les applications qu'ils hébergent. role fait référence à un tableau de noms de composants, tel que role="@array/nav_components.

Définir des transitions

Dans chaque définition de panneau, définissez les transitions en mappant les événements système ou personnalisés à une variante cible. Par exemple, pour définir le comportement du panneau de navigation :

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