Supporto della modalità multi-finestra

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:

  • Senza riquadri consente agli utenti di ridimensionare dinamicamente i riquadri delle attività e di avere più di due app visibili sullo schermo.
  • Schermo diviso è l'implementazione predefinita della modalità multifinestra, che fornisce due riquadri delle attività in cui gli utenti possono posizionare le app.
  • La funzionalità Picture in picture (PIP) consente ai dispositivi Android di riprodurre i 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.

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à PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT di sistema 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>
    

In Android 16, gli OEM possono supportare le finestre desktop sul proprio dispositivo per una configurazione multi-finestra a forma libera utilizzando Attiva le finestre desktop.

Attivare le finestre del desktop

Per attivare la visualizzazione in finestra sul desktop sul tuo dispositivo:

  • Assicurati che il dispositivo supporti le finestre a forma libera.
  • Imposta il flag di overlay della configurazione config_isDesktopModeSupported su true in config.xml:
        <bool name="config_isDesktopModeSupported">true</bool>
        
  • Per attivare le finestre a forma libera sul display interno del dispositivo, imposta il flag di overlay della configurazione config_canInternalDisplayHostDesktops su true in config.xml. Questo flag viene ignorato se config_isDesktopModeSupported è false:
          <bool name="config_canInternalDisplayHostDesktops">true</bool>
          
Attivare i limiti di attività

Per configurare il numero massimo di attività supportate nella suddivisione in finestre sul computer:

  1. Attiva le finestre del desktop.
  2. Imposta il flag di overlay della configurazione config_maxDesktopWindowingActiveTasks in config.xml sul numero massimo di attività supportate. Per supportare un numero illimitato di attività, imposta il flag sul valore predefinito 0:
            <bool name="config_maxDesktopWindowingActiveTasks">4</integer>
            

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

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à multi-finestra 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.

Versione di Android Test CTS
7,0 /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
8,0 /platform/cts/hostsidetests/services/activityandwindowmanager/activitymanager/src/android/server/cts
9,0 /platform/cts/tests/framework/base/activitymanager/src/android/server/am
10.0 e versioni successive /platform/cts/tests/framework/base/windowmanager/src/android/server/wm