Split Screen — is de modus voor gesplitst scherm waarmee je twee apps tegelijk naast elkaar kunt uitvoeren, waarbij de beschikbare ruimte wordt gedeeld. De gebruiker kan de scheidingslijn tussen vensters slepen, verhoudingen wijzigen en snel apps in elke helft wisselen. Volgens Android Developers (2025) maakt Split Screen deel uit van het verplichte compatibiliteitsprogramma voor alle apparaten met een schermbreedte vanaf 600 dp en wordt het zowel op Android als op iPadOS ondersteund.
Belangrijkste punten
Split Screen — is een multitaskingmodus waarbij het scherm wordt verdeeld in twee functionele gebieden, die elk een aparte app bevatten. In tegenstelling tot Slide Over of PiP, waarbij het ene venster boven het andere zweeft, geeft Split Screen beide apps een gelijke status — elk krijgt zijn eigen helft van het scherm.
De modus is beschikbaar op Android (vanaf 7.0 Nougat), iPadOS (vanaf iOS 9), Windows (Snap Assist) en sommige Linux-desktopomgevingen. In mobiele ontwikkeling wordt Split Screen beschouwd als een verplicht scenario voor tablets en opvouwbare apparaten, waar multitasking het belangrijkste voordeel van het platform is.
De gebruiker activeert Split Screen door lang op het app-pictogram in Overview (Android) te drukken of door vanuit Dock (iPad) te slepen. Na activering wordt het scherm gesplitst en selecteert de gebruiker de tweede app uit de recente lijst of uit Dock.
In Android wordt Split Screen beheerd via Window Manager. Wanneer de gebruiker de modus activeert, maakt het systeem twee StackViews — één voor elke Activity. De scheidingslijn tussen vensters wordt door het systeem getekend, de minimale dikte is 1 dp, maar kan worden vergroot op apparaten met Gesture Navigation.
Elke app krijgt een melding van grootteverandering via onConfigurationChanged. Als Activity deze gebeurtenis niet verwerkt — wordt deze vernietigd en opnieuw aangemaakt. Voor video's en games is dit cruciaal: het opnieuw aanmaken van Activity reset de afspeelpositie of spelstatus.
Vensterverhoudingen kunnen worden gewijzigd door de scheidingslijn te slepen. Android ondersteunt drie toestanden: 50/50, 70/30 en 30/70. De gebruiker kan ook apps omwisselen — dit veroorzaakt een herstart van Activity als configChanges niet wordt verwerkt.
Split View — is de implementatie van Split Screen in iPadOS. In tegenstelling tot Android, waar de schermverdeling altijd vanuit het midden gaat, biedt iPadOS de gebruiker drie standen van de scheidingslijn: 50/50, 25/75 en 75/25. De modus wordt geactiveerd via Dock of App Exposé.
In iPadOS kan een app in Split View worden geminimaliseerd naar Slide Over — een zwevend venster. Dit is een unieke functie van Apple: de gebruiker kan een van de vensters van Split View naar Slide Over omzetten en terug zonder gegevensverlies. De ontwikkelaar moet alle drie de modi ondersteunen: full screen, Split View en Slide Over.
Om Split View in iOS te ondersteunen, moet de app adaptieve lay-outs implementeren via Size Classes en scène (UIScene). Sinds iOS 13 vereist Apple dat de app de modus voor meerdere vensters correct verwerkt — anders kan het systeem Activity op iPad geforceerd herstarten.
Bij het betreden en verlaten van Split Screen treden configuratiewijzigingen op: de breedte, hoogte en beeldverhouding van het venster veranderen. Het standaardgedrag van Android — het opnieuw aanmaken van Activity (onDestroy + onCreate). Om dit te voorkomen, geef android:configChanges op in het manifest.
Bij het opnieuw aanmaken van Activity verliest het de status van View en ViewModel. Gebruik SavedStateHandle om de UI-status of ViewModel met Application-bereik te bewaren. Alternatief — onRetainNonConfigurationInstance() voor complexe objecten.
@Override
fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
val isSplitScreen = isInMultiWindowMode()
if (isSplitScreen) {
adjustLayoutForSplitScreen()
}
}
In iPadOS is een vergelijkbaar mechanisme — traitCollectionDidChange of viewWillTransitionToSize. De ontwikkelaar ontvangt de nieuwe containergrootte en moet de lay-out herbouwen volgens de Size Class.
Op Android begint de ondersteuning van Split Screen met het instellen van de vlag resizeableActivity in het manifest. Hierna kan Activity verkleinen tot een minimale breedte van 220 dp. Als de app zo'n smal scherm niet ondersteunt — geef android:minWidth op in het manifest.
Voor iPad volstaat het voor de ontwikkelaar om Size Classes te ondersteunen en Auto Layout of SwiftUI te gebruiken. SwiftUI past de interface automatisch aan bij overgang naar Split View — bijvoorbeeld NavigationSplitView schakelt tussen stacked en side-by-side modi.
Het wordt aanbevolen om Split Screen te testen op echte apparaten of in een emulator met de multi-resizable window-instelling. Android Emulator maakt het mogelijk om een willekeurig aantal vensters te starten via ADB en het gedrag van de app in verschillende verhoudingen te controleren.
| Platform | Aanpassingsmechanisme | Minimale breedte |
|---|---|---|
| Android | resizeableActivity + configChanges | 220 dp |
| iPadOS | Size Classes + UIScene | 320 pt (primary) |
Eerste fout — het negeren van statusopslag. In Split Screen kan Activity op elk moment opnieuw worden aangemaakt zonder tussenkomst van de gebruiker. Als gegevens alleen in lokale variabelen worden opgeslagen — gaan ze verloren. Gebruik ViewModel voor schermgegevens en SavedStateHandle voor kritieke toestanden.
Tweede fout — inhoud verbergen bij vensterverkleining. Sommige ontwikkelaars verbergen elementen wanneer de breedte onder een bepaalde drempel komt. De juiste aanpak — de lay-out herbouwen: op een smal scherm alleen de belangrijkste dingen tonen, niet alles verbergen. Window Size Class biedt kant-en-klare breekpunten voor deze logica.
Derde fout — het niet verwerken van onWindowFocusChanged. In Split Screen kan de focus tussen vensters schakelen zonder de app te sluiten. Het negeren van deze gebeurtenis leidt tot het stoppen van de videospeler wanneer de gebruiker alleen naar het naburige venster keek.
Veelgestelde vragen
Gebruik Intent met FLAG_ACTIVITY_LAUNCH_ADJACENT. Als het apparaat zich in Split Screen bevindt, wordt de app in het aangrenzende venster geopend. Als het apparaat in de volledige schermmodus staat — wordt de vlag genegeerd.
Ja. Activity blijft zichtbaar, maar verliest focus — onPause wordt aangeroepen, maar niet onStop. Bij het verlaten van Split Screen wordt onMultiWindowModeChanged aangeroepen, gevolgd door onResume.
Gebruik WindowManager.getCurrentWindowMetrics() of Jetpack WindowManager. Gebruik Display.getSize() niet — het retourneert het volledige scherm, niet het huidige venster van de app.
Ja. Op een uitgevouwen apparaat is Split Screen vaak de standaardmodus. Samsung Galaxy Z Fold biedt in liggende modus Split Screen met drie apps tegelijk.
Stel android:resizeableActivity="false" in voor die Activity. Voor API 24+ verbiedt de vlag Split Screen. Op Android 12L+ gebruik je android:minWidth en android:minHeight.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook