Split Screen — co to je, režim dvou aplikací na obrazovce

Autor: IT Sectr Publikováno: 2026-06-08 Doba čtení: 9 min

Split Screen — je režim rozdělené obrazovky, který umožňuje současně spouštět dvě aplikace vedle sebe a sdílet dostupný prostor. Uživatel může přetahovat oddělovač mezi okny, měnit proporce a rychle přepínat aplikace v každé polovině. Podle Android Developers (2025) je Split Screen součástí povinného programu kompatibility pro všechna zařízení s šířkou obrazovky od 600 dp a je podporován jak na Androidu, tak na iPadOS.

Hlavní body

  • Split Screen — dvě aplikace na obrazovce s přetahovatelným oddělovačem.
  • Android Split Screen — funguje od Androidu 7.0, aktivuje se přes Overview.
  • iPad Split View — podobný režim v iPadOS se třemi pozicemi oddělovače.
  • Adaptace — aplikace musí zpracovávat změnu velikosti okna a ukládat stav.
  • Minimální šířka — okno aplikace v Split Screen se může zmenšit až na 220 dp.

Co je Split Screen?

Split Screen — je režim multitaskingu, při kterém je obrazovka rozdělena na dvě funkční oblasti, z nichž každá obsahuje samostatnou aplikaci. Na rozdíl od Slide Over nebo PiP, kde jedno okno plave nad druhým, dává Split Screen oběma aplikacím rovný status — každá dostává svou polovinu obrazovky.

Režim je k dispozici na Androidu (od 7.0 Nougat), iPadOS (od iOS 9), Windows (Snap Assist) a některých desktopových prostředích Linuxu. V mobilním vývoji je Split Screen považován za povinný scénář pro tablety a skládací zařízení, kde multitasking je klíčovou výhodou platformy.

Uživatel aktivuje Split Screen dlouhým stisknutím ikony aplikace v Overview (Android) nebo přetažením z Docku (iPad). Po aktivaci se obrazovka rozdělí a uživatel vybere druhou aplikaci ze seznamu nedávných nebo z Docku.

Split Screen na Androidu: jak funguje

V Androidu je Split Screen spravován přes Window Manager. Když uživatel aktivuje režim, systém vytvoří dva StackView — jeden pro každé Activity. Oddělovač mezi okny je kreslen systémem, jeho minimální tloušťka je 1 dp, ale může být zvýšena na zařízeních s Gesture Navigation.

Každá aplikace dostává oznámení o změně velikosti prostřednictvím onConfigurationChanged. Pokud Activity tuto událost nezpracovává — je zničena a znovu vytvořena. Pro videa a hry je to kritické: nové vytvoření Activity resetuje pozici přehrávání nebo stav hry.

Proporce oken lze měnit přetahováním oddělovače. Android podporuje tři stavy: 50/50, 70/30 a 30/70. Uživatel může také prohodit aplikace — to způsobí restart Activity, pokud není zpracováváno configChanges.

Split View na iPadOS: vlastnosti

Split View — je implementace Split Screen v iPadOS. Na rozdíl od Androidu, kde dělení obrazovky jde vždy od středu, iPadOS nabízí uživateli tři pozice oddělovače: 50/50, 25/75 a 75/25. Režim se aktivuje přes Dock nebo App Exposé.

V iPadOS může být aplikace v Split View minimalizována do Slide Over — plovoucího okna. Toto je unikátní funkce Apple: uživatel může přeměnit jedno z oken z Split View do Slide Over a zpět bez ztráty dat. Vývojář musí podporovat všechny tři režimy: full screen, Split View a Slide Over.

Pro podporu Split View v iOS musí aplikace implementovat adaptivní rozvržení přes Size Classes a scénu (UIScene). Od iOS 13 Apple vyžaduje, aby aplikace správně zpracovávala režim více oken — jinak může systém vynutit restart Activity na iPadu.

Zpracování změn konfigurace

Při vstupu a výstupu z Split Screen dochází ke změnám konfigurace: mění se šířka, výška a poměr stran okna. Standardní chování Androidu — nové vytvoření Activity (onDestroy + onCreate). Abyste tomu předešli, uveďte android:configChanges v manifestu.

Při novém vytvoření Activity ztrácí stav View a ViewModel. Použijte SavedStateHandle pro uložení stavu UI nebo ViewModel s omezením rozsahu na Application. Alternativa — onRetainNonConfigurationInstance() pro složité objekty.

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

V iPadOS je analogický mechanismus — traitCollectionDidChange nebo viewWillTransitionToSize. Vývojář obdrží novou velikost kontejneru a musí přestavět rozvržení podle Size Class.

Podpora Split Screen v kódu

Na Androidu začíná podpora Split Screen nastavením příznaku resizeableActivity v manifestu. Poté se Activity může zmenšit na minimální šířku 220 dp. Pokud aplikace nepodporuje tak úzkou obrazovku — uveďte android:minWidth v manifestu.

Pro iPad vývojáři stačí podporovat Size Classes a používat Auto Layout nebo SwiftUI. SwiftUI automaticky přizpůsobuje rozhraní při přechodu do Split View — například NavigationSplitView přepíná mezi stacked a side-by-side režimy.

Doporučuje se testovat Split Screen na reálných zařízeních nebo v emulátoru s nastavením multi-resizable window. Android Emulator umožňuje spustit libovolný počet oken přes ADB a zkontrolovat chování aplikace v různých proporcích.

PlatformaMechanismus adaptaceMinimální šířka
AndroidresizeableActivity + configChanges220 dp
iPadOSSize Classes + UIScene320 pt (primary)

Typické chyby při implementaci

První chyba — ignorování ukládání stavu. V Split Screen může být Activity kdykoli znovu vytvořena bez zásahu uživatele. Pokud jsou data uložena pouze v lokálních proměnných — budou ztracena. Použijte ViewModel pro data obrazovky a SavedStateHandle pro kritické stavy.

Druhá chyba — skrývání obsahu při zmenšení okna. Někteří vývojáři skrývají prvky, když šířka klesne pod určitou hranici. Správný přístup — přestavba rozvržení: na úzké obrazovce zobrazujte pouze to nejdůležitější, neschovávejte vše. Window Size Class poskytuje hotové breakpointy pro tuto logiku.

Třetí chyba — nezpracovávání onWindowFocusChanged. V Split Screen může fokus přepínat mezi okny bez zavření aplikace. Ignorování této události vede k zastavení přehrávače videa, když se uživatel jen podíval na sousední okno.

Často kladené otázky

Jak programově spustit aplikaci v Split Screen?

Použijte Intent s FLAG_ACTIVITY_LAUNCH_ADJACENT. Pokud je zařízení v režimu Split Screen, aplikace se otevře v sousedním okně. Pokud je zařízení v režimu celé obrazovky — příznak je ignorován.

Liší se životní cyklus Activity v Split Screen?

Ano. Activity zůstává viditelná, ale ztrácí fokus — volá se onPause, ale ne onStop. Při opuštění Split Screen se volá onMultiWindowModeChanged, poté onResume.

Jak zkontrolovat šířku okna v Split Screen?

Použijte WindowManager.getCurrentWindowMetrics() nebo Jetpack WindowManager. Nepoužívejte Display.getSize() — vrací celou obrazovku, nikoli aktuální okno aplikace.

Je Split Screen podporován na skládacích zařízeních?

Ano. Na rozloženém zařízení je Split Screen často výchozím režimem. Samsung Galaxy Z Fold v režimu na šířku nabízí Split Screen se třemi aplikacemi současně.

Jak vypnout Split Screen pro konkrétní Activity?

Nastavte android:resizeableActivity="false" pro toto Activity. Pro API 24+ příznak zakazuje Split Screen. Na Androidu 12L+ použijte android:minWidth a android:minHeight.

Shrnutí

  • Split Screen — režim dvou aplikací na obrazovce, dostupný na Androidu a iPadOS.
  • Android — funguje přes resizeableActivity + onConfigurationChanged.
  • iPadOS — Split View se třemi pozicemi oddělovače, transformace do Slide Over.
  • Adaptace — zpracování změny velikosti přes configChanges nebo nové vytvoření.
  • Ukládání stavu — ViewModel a SavedStateHandle jsou povinné pro Split Screen.
  • Testování — minimální šířka 220 dp na Androidu, 320 pt na iPadu.
  • Závěr — Split Screen je povinný režim pro tablety a skládací zařízení, který vyžaduje zpracování životního cyklu a adaptivních rozvržení.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také