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:
- Freeform permet aux utilisateurs de redimensionner dynamiquement les volets d'activité et d'afficher plus de deux applications à l'écran.
- 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.
- 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
.
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>
Sous Android 16, les OEM peuvent prendre en charge la gestion des fenêtres sur leur appareil pour une configuration multifenêtre de forme libre à l'aide de Enable desktop windowing (Activer la gestion des fenêtres sur ordinateur).
Activer le fenêtrage de l'ordinateur
Pour activer la gestion des fenêtres sur votre appareil:
- Assurez-vous que votre appareil est compatible avec la fenêtrage de forme libre.
-
Définissez l'indicateur
config_isDesktopModeSupported
de superposition de configuration surtrue
dansconfig.xml
:<bool name="config_isDesktopModeSupported">true</bool>
-
Pour activer le fenêtrage de forme libre sur l'écran interne de votre appareil, définissez l'indicateur de superposition de configuration
config_canInternalDisplayHostDesktops
surtrue
dansconfig.xml
. Cette option est ignorée siconfig_isDesktopModeSupported
estfalse
:<bool name="config_canInternalDisplayHostDesktops">true</bool>
Activer les limites des tâches
Pour configurer le nombre maximal de tâches compatibles avec la fenêtre de bureau:
- Activez le fenêtrage de bureau.
-
Définissez l'indicateur de superposition de configuration
config_maxDesktopWindowingActiveTasks
dansconfig.xml
sur le nombre maximal de tâches compatibles. Pour prendre en charge un nombre illimité de tâches, définissez l'indicateur sur la valeur par défaut0
:<bool name="config_maxDesktopWindowingActiveTasks">4</integer>
É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é.
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.