Sous Android 7.0 et versions ultérieures, les appareils peuvent afficher plusieurs applications simultanément à l'aide du mode multifenêtre. Android est compatible avec trois configurations multifenêtre:
- L'écran partagé est l'implémentation multifenêtre par défaut, qui fournit deux volets d'activité dans lesquels les utilisateurs peuvent placer des applications.
- Freeform permet aux utilisateurs de redimensionner dynamiquement les volets d'activité et d'afficher plus de deux applications à l'écran.
- Le mode Picture-in-picture (PIP) permet aux appareils Android de lire du contenu vidéo dans une petite fenêtre pendant que l'utilisateur interagit avec d'autres applications.
Implémentation
La prise en charge du mode multifenêtre est activée par défaut sous Android 7.0 ou version ultérieure.
Pour le désactiver, définissez l'indicateur config_supportsMultiWindow
sur false
dans le fichier config.xml de votre appareil.
La multifenêtre est désactivée par défaut sur tous les appareils à faible RAM (appareils qui déclarent ActivityManager.isLowRam()
). Les appareils à faible RAM ignorent la valeur du flag config_supportsMultiWindow
.
Écran partagé
L'expérience multifenêtre par défaut est le mode Écran partagé, dans lequel l'interface utilisateur du système est divisée au milieu de l'appareil en mode portrait ou paysage. Les utilisateurs peuvent redimensionner la fenêtre en faisant glisser la ligne de séparation d'un côté à l'autre ou de haut en bas, en fonction de l'orientation de l'appareil.
Après avoir activé l'écran partagé, les fabricants d'appareils peuvent choisir d'activer le mode libre ou PIP.
Android 8.0 et versions ultérieures améliorent l'écran partagé en comprimant le lanceur d'applications lorsque l'utilisateur appuie sur Accueil. Pour en savoir plus sur l'implémentation, consultez la section Interactions en mode écran partagé.
Freeform
Après avoir activé le mode multifenêtre avec l'indicateur config_supportsMultiWindow
, les fabricants d'appareils peuvent autoriser le fenêtrage de forme libre. Ce mode est particulièrement utile sur les appareils plus grands, comme les tablettes.
Pour prendre en charge le mode de dessin libre, activez la fonctionnalité système PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
dans /android/frameworks/base/core/java/android/content/pm/PackageManager.java
et définissez config_freeformWindowManagement
sur true
dans config.xml.
.
<bool name="config_freeformWindowManagement">true</bool>
Picture-in-picture
Après avoir activé le mode multifenêtre avec l'indicateur config_supportsMultiWindow
, les fabricants d'appareils peuvent prendre en charge le mode Picture-in-picture, qui permet aux utilisateurs de regarder des vidéos tout en parcourant d'autres activités. Bien que cette fonctionnalité soit destinée aux appareils Android TV, d'autres types d'appareils peuvent être compatibles.
Pour prendre en charge le PIP, activez la fonctionnalité système PackageManager#FEATURE_PICTURE_IN_PICTURE
dans /android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
Pour en savoir plus sur l'implémentation du mode Picture-in-picture sur les appareils équipés d'Android 8.0 ou version ultérieure,consultez la page Picture-in-picture.
UI du système
Prise en charge de toutes les UI système standards conformément à la documentation destinée aux développeurs sur le mode multifenêtre.
Applis
Pour prendre en charge le mode multifenêtre pour les applications préchargées, consultez la documentation destinée aux développeurs Android.
Validation
Pour valider votre implémentation du multifenêtre, exécutez les tests CTS associés et suivez les instructions de test pour le multifenêtre.
Pour Android 7.0, les tests se trouvent dans
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
.
Sur Android 8.0 et versions ultérieures, les tests se trouvent dans
/platform/cts/tests/framework/base/activitymanager/src/android/server/am
.