Split Screen — che cos'è, modalità due app sullo schermo

Autore: IT Sectr Pubblicato: 2026-06-08 Tempo di lettura: 9 min

Split Screen è una modalità di schermo diviso che consente di eseguire due app contemporaneamente affiancate, dividendo lo spazio disponibile. L'utente può trascinare il divisore tra le finestre, modificare le proporzioni e passare rapidamente da un'app all'altra in ciascuna metà. Secondo Android Developers (2025), Split Screen fa parte del programma di compatibilità obbligatorio per tutti i dispositivi con larghezza dello schermo di 600 dp o superiore ed è supportato sia su Android che su iPadOS.

Punti chiave

  • Split Screen — due app sullo schermo con un divisore trascinabile.
  • Android Split Screen — funziona da Android 7.0, si attiva tramite Overview.
  • iPad Split View — modalità simile in iPadOS con tre posizioni del divisore.
  • Adattamento — l'app deve gestire il ridimensionamento della finestra e preservare lo stato.
  • Larghezza minima — la finestra dell'app in Split Screen può ridursi fino a 220 dp.

Che cos'è Split Screen?

Split Screen è una modalità multitasking in cui lo schermo è diviso in due aree funzionali, ciascuna contenente un'app separata. A differenza di Slide Over o PiP, dove una finestra fluttua sopra un'altra, Split Screen dà a entrambe le app lo stesso status — ognuna riceve la propria metà dello schermo.

La modalità è disponibile su Android (da 7.0 Nougat), iPadOS (da iOS 9), Windows (Snap Assist) e alcuni ambienti desktop Linux. Nello sviluppo mobile, Split Screen è considerato uno scenario obbligatorio per tablet e dispositivi pieghevoli, dove il multitasking è un vantaggio chiave della piattaforma.

L'utente attiva Split Screen premendo a lungo l'icona dell'app in Overview (Android) o trascinando dal Dock (iPad). Dopo l'attivazione, lo schermo si divide e l'utente seleziona la seconda app dall'elenco delle recenti o dal Dock.

Split Screen su Android: come funziona

Su Android, Split Screen è gestito tramite Window Manager. Quando l'utente attiva la modalità, il sistema crea due StackView — una per ogni Activity. Il divisore tra le finestre viene renderizzato dal sistema, con uno spessore minimo di 1 dp, che può essere aumentato sui dispositivi con Gesture Navigation.

Ogni app riceve una notifica di cambio dimensione tramite onConfigurationChanged. Se l'Activity non gestisce questo evento, viene distrutta e ricreata. Per video e giochi questo è critico: ricreare l'Activity reimposta la posizione di riproduzione o lo stato del gioco.

Le proporzioni delle finestre possono essere modificate trascinando il divisore. Android supporta tre stati: 50/50, 70/30 e 30/70. L'utente può anche scambiare le app, il che attiva un riavvio dell'Activity se configChanges non viene gestito.

Split View su iPadOS: caratteristiche

Split View è l'implementazione di Split Screen in iPadOS. A differenza di Android, dove la divisione dello schermo parte sempre dal centro, iPadOS offre all'utente tre posizioni del divisore: 50/50, 25/75 e 75/25. La modalità si attiva tramite Dock o App Exposé.

In iPadOS, un'app in Split View può essere ridotta a Slide Over — una finestra fluttuante. Questa è una funzionalità unica di Apple: l'utente può trasformare una delle finestre da Split View a Slide Over e viceversa senza perdita di dati. Lo sviluppatore deve supportare tutte e tre le modalità: schermo intero, Split View e Slide Over.

Per supportare Split View in iOS, l'app deve implementare layout adattivi tramite Size Classes e scena (UIScene). Da iOS 13, Apple richiede che l'app gestisca correttamente la modalità multi-finestra — altrimenti il sistema potrebbe riavviare forzatamente l'Activity su iPad.

Gestione dei cambiamenti di configurazione

Entrando e uscendo da Split Screen si verificano cambiamenti di configurazione: larghezza, altezza e proporzioni della finestra cambiano. Il comportamento standard di Android è ricreare l'Activity (onDestroy + onCreate). Per evitarlo, specifica android:configChanges nel manifesto.

Durante la ricreazione, l'Activity perde lo stato di View e ViewModel. Usa SavedStateHandle per salvare lo stato dell'interfaccia utente o un ViewModel con ambito Application. Un'alternativa è onRetainNonConfigurationInstance() per oggetti complessi.

kotlin
@Override
fun onConfigurationChanged(newConfig: Configuration) {
    super.onConfigurationChanged(newConfig)
    val isSplitScreen = isInMultiWindowMode()
    if (isSplitScreen) {
        adjustLayoutForSplitScreen()
    }
}

In iPadOS, il meccanismo equivalente è traitCollectionDidChange o viewWillTransitionToSize. Lo sviluppatore riceve la nuova dimensione del contenitore e deve ricostruire il layout in base a Size Class.

Supporto di Split Screen nel codice

Su Android, il supporto di Split Screen inizia impostando il flag resizeableActivity nel manifesto. Dopodiché, l'Activity può ridursi fino a una larghezza minima di 220 dp. Se l'app non supporta uno schermo così stretto, specifica android:minWidth nel manifesto.

Per iPad, lo sviluppatore deve solo supportare Size Classes e utilizzare Auto Layout o SwiftUI. SwiftUI adatta automaticamente l'interfaccia quando si entra in Split View — ad esempio, NavigationSplitView passa tra modalità impilata e affiancata.

Si consiglia di testare Split Screen su dispositivi reali o in un emulatore con impostazioni di finestra multi-ridimensionabile. L'emulatore Android consente di avviare un numero qualsiasi di finestre tramite ADB e verificare il comportamento dell'app in diverse proporzioni.

PiattaformaMeccanismo di adattamentoLarghezza minima
AndroidresizeableActivity + configChanges220 dp
iPadOSSize Classes + UIScene320 pt (primaria)

Errori tipici nell'implementazione

Il primo errore è ignorare la conservazione dello stato. In Split Screen, l'Activity può essere ricreata in qualsiasi momento senza intervento dell'utente. Se i dati sono memorizzati solo in variabili locali, andranno persi. Usa ViewModel per i dati dello schermo e SavedStateHandle per gli stati critici.

Il secondo errore è nascondere il contenuto quando la finestra si riduce. Alcuni sviluppatori nascondono elementi quando la larghezza scende sotto una certa soglia. L'approccio corretto è ricostruire il layout: su uno schermo stretto, mostra solo il più importante invece di nascondere tutto. Window Size Class fornisce breakpoint pronti per questa logica.

Il terzo errore è non gestire onWindowFocusChanged. In Split Screen, il focus può passare da una finestra all'altra senza chiudere l'app. Ignorare questo evento fa sì che il lettore video si fermi quando l'utente guarda semplicemente la finestra adiacente.

Domande frequenti

Come avviare programmaticamente un'app in Split Screen?

Usa un Intent con FLAG_ACTIVITY_LAUNCH_ADJACENT. Se il dispositivo è in Split Screen, l'app si aprirà nella finestra adiacente. Se il dispositivo è in modalità schermo intero, il flag viene ignorato.

Il ciclo di vita dell'Activity è diverso in Split Screen?

Sì. L'Activity rimane visibile ma perde il focus — viene chiamato onPause, ma non onStop. Quando si esce da Split Screen, viene chiamato onMultiWindowModeChanged, seguito da onResume.

Come verificare la larghezza della finestra in Split Screen?

Usa WindowManager.getCurrentWindowMetrics() o Jetpack WindowManager. Non usare Display.getSize() — restituisce l'intero schermo, non la finestra corrente dell'app.

Split Screen è supportato sui dispositivi pieghevoli?

Sì. Su un dispositivo aperto, Split Screen è spesso la modalità predefinita. Il Samsung Galaxy Z Fold in modalità orizzontale offre Split Screen con tre app contemporaneamente.

Come disabilitare Split Screen per una Activity specifica?

Imposta android:resizeableActivity="false" per quella Activity. Per API 24+, questo flag disabilita Split Screen. Su Android 12L+, usa android:minWidth e android:minHeight.

Riepilogo

  • Split Screen — modalità due app sullo schermo, disponibile su Android e iPadOS.
  • Android — funziona tramite resizeableActivity + onConfigurationChanged.
  • iPadOS — Split View con tre posizioni del divisore, trasformabile in Slide Over.
  • Adattamento — gestisci i cambiamenti di dimensione tramite configChanges o ricreazione.
  • Conservazione dello stato — ViewModel e SavedStateHandle sono obbligatori per Split Screen.
  • Test — larghezza minima 220 dp su Android, 320 pt su iPad.
  • Conclusione — Split Screen è una modalità obbligatoria per tablet e dispositivi pieghevoli, che richiede gestione del ciclo di vita e layout adattivi.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche