Split Screen — är ett delat skärmläge som gör att du kan köra två appar samtidigt bredvid varandra och dela det tillgängliga utrymmet. Användaren kan dra avskiljaren mellan fönster, ändra proportioner och snabbt växla appar i varje halva. Enligt Android Developers (2025) ingår Split Screen i det obligatoriska kompatibilitetsprogrammet för alla enheter med skärmbredd från 600 dp och stöds både på Android och iPadOS.
Huvudpunkter
Split Screen — är ett multitaskingläge där skärmen delas upp i två funktionella områden, som vart och ett innehåller en separat app. Till skillnad från Slide Over eller PiP, där ett fönster svävar ovanför det andra, ger Split Screen båda apparna samma status — var och en får sin egen halva av skärmen.
Läget finns tillgängligt på Android (från 7.0 Nougat), iPadOS (från iOS 9), Windows (Snap Assist) och vissa Linux-skrivbordsmiljöer. Inom mobil utveckling anses Split Screen vara ett obligatoriskt scenario för surfplattor och vikbara enheter, där multitasking är plattformens viktigaste fördel.
Användaren aktiverar Split Screen genom att länge trycka på appikonen i Overview (Android) eller dra från Dock (iPad). Efter aktivering delas skärmen och användaren väljer den andra appen från listan över nyligen använda eller från Dock.
I Android hanteras Split Screen via Window Manager. När användaren aktiverar läget skapar systemet två StackView — en för varje Activity. Avskiljaren mellan fönster ritas av systemet, dess minsta tjocklek är 1 dp, men kan ökas på enheter med Gesture Navigation.
Varje app får ett meddelande om storleksändring via onConfigurationChanged. Om Activity inte hanterar denna händelse — förstörs den och skapas på nytt. För videor och spel är detta kritiskt: återskapande av Activity återställer uppspelningspositionen eller spelstatusen.
Fönsterproportioner kan ändras genom att dra avskiljaren. Android stöder tre tillstånd: 50/50, 70/30 och 30/70. Användaren kan också byta plats på apparna — detta orsakar en omstart av Activity om configChanges inte hanteras.
Split View — är implementeringen av Split Screen i iPadOS. Till skillnad från Android där skärmdelningen alltid går från mitten, erbjuder iPadOS användaren tre avskiljarpositioner: 50/50, 25/75 och 75/25. Läget aktiveras via Dock eller App Exposé.
I iPadOS kan en app i Split View minimeras till Slide Over — ett svävande fönster. Detta är en unik Apple-funktion: användaren kan omvandla ett av fönstren från Split View till Slide Over och tillbaka utan dataförlust. Utvecklaren måste stödja alla tre lägena: full screen, Split View och Slide Over.
För att stödja Split View i iOS måste appen implementera adaptiva layouter via Size Classes och scen (UIScene). Sedan iOS 13 kräver Apple att appen korrekt hanterar flerfönsterläget — annars kan systemet tvinga omstart av Activity på iPad.
Vid inträde och utträde ur Split Screen sker konfigurationsändringar: fönstrets bredd, höjd och bildförhållande ändras. Standardbeteendet i Android — återskapande av Activity (onDestroy + onCreate). För att undvika detta, ange android:configChanges i manifestet.
Vid återskapande av Activity förloras View- och ViewModel-tillståndet. Använd SavedStateHandle för att spara UI-tillstånd eller ViewModel med Application-omfång. Alternativ — onRetainNonConfigurationInstance() för komplexa objekt.
@Override
fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
val isSplitScreen = isInMultiWindowMode()
if (isSplitScreen) {
adjustLayoutForSplitScreen()
}
}
I iPadOS finns en liknande mekanism — traitCollectionDidChange eller viewWillTransitionToSize. Utvecklaren får den nya containerns storlek och måste bygga om layouten enligt Size Class.
På Android börjar stödet för Split Screen med att ställa in flaggan resizeableActivity i manifestet. Därefter kan Activity minska till en minsta bredd på 220 dp. Om appen inte stöder en så smal skärm — ange android:minWidth i manifestet.
För iPad räcker det för utvecklaren att stödja Size Classes och använda Auto Layout eller SwiftUI. SwiftUI anpassar automatiskt gränssnittet vid övergång till Split View — till exempel växlar NavigationSplitView mellan stacked och side-by-side-lägen.
Det rekommenderas att testa Split Screen på verkliga enheter eller i emulatorn med inställningen multi-resizable window. Android Emulator låter dig starta valfritt antal fönster via ADB och kontrollera appens beteende i olika proportioner.
| Plattform | Anpassningsmekanism | Minsta bredd |
|---|---|---|
| Android | resizeableActivity + configChanges | 220 dp |
| iPadOS | Size Classes + UIScene | 320 pt (primary) |
Första misstaget — att ignorera tillståndssparande. I Split Screen kan Activity återskapas när som helst utan användarens inblandning. Om data endast lagras i lokala variabler — går de förlorade. Använd ViewModel för skärmdata och SavedStateHandle för kritiska tillstånd.
Andra misstaget — att dölja innehåll när fönstret minskas. Vissa utvecklare döljer element när bredden blir under en viss tröskel. Rätt tillvägagångssätt — att bygga om layouten: på en smal skärm visa endast det viktigaste, inte dölja allt. Window Size Class ger färdiga brytpunkter för denna logik.
Tredje misstaget — att inte hantera onWindowFocusChanged. I Split Screen kan fokus växla mellan fönster utan att stänga appen. Att ignorera denna händelse leder till att videospelaren stannar när användaren bara tittade på det angränsande fönstret.
Vanliga frågor
Använd Intent med FLAG_ACTIVITY_LAUNCH_ADJACENT. Om enheten är i Split Screen-läge öppnas appen i det angränsande fönstret. Om enheten är i helskärmsläge — ignoreras flaggan.
Ja. Activity förblir synlig men tappar fokus — onPause anropas, men inte onStop. Vid utträde ur Split Screen anropas onMultiWindowModeChanged, därefter onResume.
Använd WindowManager.getCurrentWindowMetrics() eller Jetpack WindowManager. Använd inte Display.getSize() — den returnerar hela skärmen, inte appens aktuella fönster.
Ja. På en utfälld enhet är Split Screen ofta standardläget. Samsung Galaxy Z Fold i liggande läge erbjuder Split Screen med tre appar samtidigt.
Ställ in android:resizeableActivity="false" för den Activityn. För API 24+ förbjuder flaggan Split Screen. På Android 12L+ använder du android:minWidth och android:minHeight.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också