Supporta più finestre

In Android 7.0 e versioni successive, i dispositivi possono visualizzare più app contemporaneamente utilizzando più finestre. Android supporta tre configurazioni multi-finestra:

  • Lo schermo diviso è l'implementazione multi-finestra predefinita, che fornisce due riquadri attività in cui gli utenti possono posizionare le app.
  • Freeform consente agli utenti di ridimensionare dinamicamente i riquadri delle attività e di avere più di due app visibili sullo schermo.
  • 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 multi-finestra è abilitato per impostazione predefinita in Android 7.0 e versioni successive. Per disabilitarlo, imposta il flag config_supportsMultiWindow su false nel file config.xml del tuo dispositivo.

La multifinestra è disabilitata 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 di Multi-finestra è la modalità schermo diviso, in cui l'interfaccia utente del sistema è divisa al centro del dispositivo in verticale o in orizzontale. Gli utenti possono ridimensionare la finestra trascinando la linea di divisione da un lato all'altro o dall'alto verso il basso, a seconda dell'orientamento del dispositivo.

Dopo aver abilitato lo schermo diviso, i produttori di dispositivi possono scegliere di abilitare la forma libera o PIP.

Android 8.0 e versioni successive migliorano lo schermo diviso comprimendo il launcher quando l'utente tocca Home . Per i dettagli sull'implementazione, consulta Interazioni a schermo diviso .

Forma libera

Dopo aver abilitato la modalità multi-finestra con il flag config_supportsMultiWindow , i produttori di dispositivi possono consentire la visualizzazione a finestre a forma libera. Questa modalità è particolarmente utile su dispositivi più grandi, come i tablet.

Per supportare la modalità a forma libera, abilitare la funzionalità di sistema PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT in /android/frameworks/base/core/java/android/content/pm/PackageManager.java e impostare config_freeformWindowManagement su true in config.xml .

    <bool name="config_freeformWindowManagement">true</bool>
    

Immagine nell'immagine

Dopo aver abilitato la modalità multi-finestra con il flag config_supportsMultiWindow , i produttori di dispositivi possono supportare l'immagine nell'immagine , che consente agli utenti di guardare video mentre navigano in altre attività. Sebbene questa funzionalità sia destinata ai dispositivi Android Television, altri tipi di dispositivi potrebbero supportare questa funzionalità.

Per supportare PIP, abilitare 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 PIP per i dispositivi con Android 8.0 e versioni successive, consulta la pagina Picture-in-picture .

Interfaccia utente del sistema

Supporta tutte le interfacce utente di sistema standard in base alla documentazione per sviluppatori multi-finestra .

App

Per supportare la modalità multi-finestra per le app precaricate, consulta la documentazione per sviluppatori Android .

Validazione

Per convalidare la tua implementazione di multi-finestra, esegui i relativi test CTS e segui le istruzioni di test per multi-finestra .

Per Android 7.0, i test si trovano 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 .