In Android 7.0 e versioni successive, i dispositivi possono visualizzare più app contemporaneamente utilizzando la modalità multi-finestra. Android supporta tre configurazioni di finestre multiple:
- Schermo diviso è l'implementazione predefinita della modalità multi-finestra, che fornisce due riquadri delle attività in cui gli utenti possono posizionare le app.
- Senza ridimensionamento consente agli utenti di ridimensionare dinamicamente i riquadri delle attività e di avere più di due app visibili sullo schermo.
- La funzionalità Picture in picture (PIP) consente ai dispositivi Android di riprodurre contenuti video in una piccola finestra mentre l'utente interagisce con altre app.
Implementazione
Il supporto del multi-finestra è attivato per impostazione predefinita in Android 7.0 e versioni successive.
Per disattivarlo, imposta il flag config_supportsMultiWindow
su
false
nel file
config.xml del dispositivo.
La funzionalità Multi-window è disattivata per impostazione predefinita su tutti i dispositivi con poca RAM (dispositivi che dichiarano ActivityManager.isLowRam()
). I dispositivi con poca RAM ignorano il valore del flag config_supportsMultiWindow
.
Schermo diviso
L'esperienza predefinita della funzionalità Multi-finestra è la modalità schermo diviso, in cui l'interfaccia utente del sistema è divisa a metà del dispositivo in modalità verticale o orizzontale. Gli utenti possono ridimensionare la finestra trascinando la linea di separazione da un lato all'altro o dall'alto verso il basso, a seconda dell'orientamento del dispositivo.
Dopo aver attivato lo schermo diviso, i produttori di dispositivi possono scegliere di attivare la modalità freeform o il PIP.
Android 8.0 e versioni successive migliorano la modalità schermo diviso comprimendo il programma di avvio quando l'utente tocca Home. Per i dettagli sull'implementazione, consulta Interazioni con lo schermo diviso.
Forma libera
Dopo aver attivato la modalità multi-finestra con il flag config_supportsMultiWindow
, i produttori di dispositivi possono consentire le finestre a forma libera. Questa modalità è più utile su dispositivi più grandi, come i tablet.
Per supportare la modalità a forma libera, attiva la funzionalità di sistema PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
in /android/frameworks/base/core/java/android/content/pm/PackageManager.java
e imposta config_freeformWindowManagement
su true
in config.xml.
.
<bool name="config_freeformWindowManagement">true</bool>
Picture in picture
Dopo aver attivato la modalità multi-finestra con il flag config_supportsMultiWindow
, i produttori di dispositivi possono supportare la funzionalità Picture in picture, che consente agli utenti di guardare i video mentre navigano in altre attività. Sebbene questa funzionalità sia destinata ai dispositivi Android TV, altri tipi di dispositivi potrebbero supportarla.
Per supportare il PIP, attiva la funzionalità di sistema PackageManager#FEATURE_PICTURE_IN_PICTURE
in /android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
Per ulteriori dettagli sull'implementazione di PIP per i dispositivi con Android 8.0 o versioni successive,consulta la pagina Picture in picture.
UI di sistema
Supportare tutte le UI di sistema standard in base alla documentazione per gli sviluppatori relativa alla funzionalità Multi-finestra.
App
Per supportare la modalità multifinestra per le app precaricate, consulta la documentazione per gli sviluppatori Android.
Convalida
Per convalidare l'implementazione del multi-finestra, esegui i test CTS correlati e segui le istruzioni di test per il multi-finestra.
Per Android 7.0, i test sono in
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
.
In Android 8.0 e versioni successive, i test si trovano in
/platform/cts/tests/framework/base/activitymanager/src/android/server/am
.