Implémenter le fenêtrage avancé

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

Activer la fonctionnalité

Définissez l'indicateur requis dans votre fichier de configuration de l'UI 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 toutes les fonctionnalités de fenêtrage héritées ou conflictuelles :

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

  • Vérifiez que toutes les fonctionnalités de fenêtrage ou d'écran partagé héritées 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 pour être mappés aux 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 des é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>