Split Screen — co to jest, tryb dwóch aplikacji na ekranie

Autor: IT Sectr Opublikowano: 2026-06-08 Czas czytania: 9 min

Split Screen — to tryb podzielonego ekranu, który pozwala uruchamiać dwie aplikacje jednocześnie obok siebie, dzieląc dostępne miejsce. Użytkownik może przeciągać separator między oknami, zmieniać proporcje i szybko przełączać aplikacje w każdej połowie. Według Android Developers (2025), Split Screen jest częścią obowiązkowego programu zgodności dla wszystkich urządzeń o szerokości ekranu od 600 dp i jest obsługiwany zarówno na Androidzie, jak i na iPadOS.

Najważniejsze

  • Split Screen — dwie aplikacje na ekranie z przeciągalnym separatorem.
  • Android Split Screen — działa od Androida 7.0, aktywuje się przez Overview.
  • iPad Split View — podobny tryb w iPadOS z trzema pozycjami separatora.
  • Adaptacja — aplikacja musi obsługiwać zmianę rozmiaru okna i zachowywać stan.
  • Minimalna szerokość — okno aplikacji w Split Screen może zmniejszyć się do 220 dp.

Co to jest Split Screen?

Split Screen — to tryb wielozadaniowości, w którym ekran dzieli się na dwa obszary funkcjonalne, z których każdy zawiera oddzielną aplikację. W przeciwieństwie do Slide Over lub PiP, gdzie jedno okno unosi się nad drugim, Split Screen daje obu aplikacjom równy status — każda otrzymuje swoją połowę ekranu.

Tryb jest dostępny na Androidzie (od 7.0 Nougat), iPadOS (od iOS 9), Windows (Snap Assist) i niektórych środowiskach desktopowych Linux. W programowaniu mobilnym Split Screen jest uważany za obowiązkowy scenariusz dla tabletów i urządzeń składanych, gdzie wielozadaniowość jest kluczową zaletą platformy.

Użytkownik aktywuje Split Screen przez długie przytrzymanie ikony aplikacji w Overview (Android) lub przez przeciągnięcie z Docka (iPad). Po aktywacji ekran dzieli się, a użytkownik wybiera drugą aplikację z listy ostatnich lub z Docka.

Split Screen na Androidzie: jak działa

W Androidzie Split Screen jest zarządzany przez Window Manager. Gdy użytkownik aktywuje tryb, system tworzy dwa StackView — po jednym dla każdego Activity. Separator między oknami jest rysowany przez system, jego minimalna grubość to 1 dp, ale może być zwiększona na urządzeniach z Gesture Navigation.

Każda aplikacja otrzymuje powiadomienie o zmianie rozmiaru przez onConfigurationChanged. Jeśli Activity nie obsługuje tego zdarzenia — jest niszczone i tworzone od nowa. Dla filmów i gier jest to krytyczne: ponowne utworzenie Activity resetuje pozycję odtwarzania lub stan gry.

Proporcje okien można zmieniać przeciągając separator. Android obsługuje trzy stany: 50/50, 70/30 i 30/70. Użytkownik może również zamienić aplikacje miejscami — powoduje to restart Activity, jeśli nie obsługuje się configChanges.

Split View na iPadOS: cechy szczególne

Split View — to implementacja Split Screen w iPadOS. W przeciwieństwie do Androida, gdzie podział ekranu zawsze idzie od środka, iPadOS oferuje użytkownikowi trzy pozycje separatora: 50/50, 25/75 i 75/25. Tryb aktywuje się przez Dock lub App Exposé.

W iPadOS aplikacja w Split View może być zwinięta do Slide Over — pływającego okna. To unikalna cecha Apple: użytkownik może przekształcić jedno z okien z Split View w Slide Over i z powrotem bez utraty danych. Deweloper musi obsługiwać wszystkie trzy tryby: full screen, Split View i Slide Over.

Aby obsługiwać Split View w iOS, aplikacja musi zaimplementować adaptacyjne layouty przez Size Classes i scenę (UIScene). Od iOS 13 Apple wymaga, aby aplikacja poprawnie obsługiwała tryb wielookienkowy — w przeciwnym razie system może wymusić restart Activity na iPadzie.

Obsługa zmian konfiguracji

Przy wejściu w Split Screen i wyjściu z niego następują zmiany konfiguracji: zmienia się szerokość, wysokość i proporcje okna. Standardowe zachowanie Androida — ponowne utworzenie Activity (onDestroy + onCreate). Aby tego uniknąć, określ android:configChanges w manifeście.

Przy ponownym tworzeniu Activity traci stan View i ViewModel. Użyj SavedStateHandle do zapisania stanu UI lub ViewModel z ograniczeniem zakresu do Application. Alternatywa — onRetainNonConfigurationInstance() dla złożonych obiektów.

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

W iPadOS analogiczny mechanizm — traitCollectionDidChange lub viewWillTransitionToSize. Deweloper otrzymuje nowy rozmiar kontenera i musi przebudować layout zgodnie z Size Class.

Wsparcie Split Screen w kodzie

Na Androidzie wsparcie Split Screen zaczyna się od ustawienia flagi resizeableActivity w manifeście. Po tym Activity może zmniejszać się do minimalnej szerokości 220 dp. Jeśli aplikacja nie obsługuje tak wąskiego ekranu — określ android:minWidth w manifeście.

Dla iPad deweloperowi wystarczy obsługiwać Size Classes i używać Auto Layout lub SwiftUI. SwiftUI automatycznie adaptuje interfejs przy przejściu w Split View — na przykład NavigationSplitView przełącza się między trybami stacked i side-by-side.

Zaleca się testowanie Split Screen na rzeczywistych urządzeniach lub w emulatorze z ustawieniem multi-resizable window. Android Emulator pozwala uruchomić dowolną liczbę okien przez ADB i sprawdzić zachowanie aplikacji w różnych proporcjach.

PlatformaMechanizm adaptacjiMinimalna szerokość
AndroidresizeableActivity + configChanges220 dp
iPadOSSize Classes + UIScene320 pt (primary)

Typowe błędy przy implementacji

Pierwszy błąd — ignorowanie zapisywania stanu. W Split Screen Activity może zostać ponownie utworzone w dowolnym momencie bez udziału użytkownika. Jeśli dane są przechowywane tylko w zmiennych lokalnych — zostaną utracone. Używaj ViewModel do danych ekranowych i SavedStateHandle do krytycznych stanów.

Drugi błąd — ukrywanie treści przy zmniejszaniu okna. Niektórzy programiści chowają elementy, gdy szerokość spada poniżej pewnego progu. Prawidłowe podejście — przebudowa layoutu: na wąskim ekranie pokazuj tylko najważniejsze rzeczy, a nie ukrywaj wszystkiego. Window Size Class dostarcza gotowych breakpointów dla tej logiki.

Trzeci błąd — nieobsługiwanie onWindowFocusChanged. W Split Screen fokus może przełączać się między oknami bez zamykania aplikacji. Ignorowanie tego zdarzenia prowadzi do zatrzymania odtwarzacza wideo, gdy użytkownik po prostu spojrzał na sąsiednie okno.

Często zadawane pytania

Jak programowo uruchomić aplikację w Split Screen?

Użyj Intent z FLAG_ACTIVITY_LAUNCH_ADJACENT. Jeśli urządzenie jest w trybie Split Screen, aplikacja otworzy się w sąsiednim oknie. Jeśli urządzenie jest w trybie pełnoekranowym — flaga jest ignorowana.

Czy cykl życia Activity różni się w Split Screen?

Tak. Activity pozostaje widoczne, ale traci fokus — wywoływane jest onPause, ale nie onStop. Przy wyjściu z Split Screen wywoływane jest onMultiWindowModeChanged, a następnie onResume.

Jak sprawdzić szerokość okna w Split Screen?

Użyj WindowManager.getCurrentWindowMetrics() lub Jetpack WindowManager. Nie używaj Display.getSize() — zwraca pełny ekran, a nie bieżące okno aplikacji.

Czy Split Screen jest obsługiwany na urządzeniach składanych?

Tak. Na urządzeniu w stanie rozłożonym Split Screen jest często trybem domyślnym. Samsung Galaxy Z Fold w trybie poziomym oferuje Split Screen z trzema aplikacjami jednocześnie.

Jak wyłączyć Split Screen dla konkretnego Activity?

Ustaw android:resizeableActivity="false" dla tego Activity. Dla API 24+ flaga zabrania Split Screen. Na Androidzie 12L+ użyj android:minWidth i android:minHeight.

Podsumowanie

  • Split Screen — tryb dwóch aplikacji na ekranie, dostępny na Androidzie i iPadOS.
  • Android — działa przez resizeableActivity + onConfigurationChanged.
  • iPadOS — Split View z trzema pozycjami separatora, transformacja w Slide Over.
  • Adaptacja — obsługa zmiany rozmiaru przez configChanges lub ponowne tworzenie.
  • Zapisywanie stanu — ViewModel i SavedStateHandle są obowiązkowe dla Split Screen.
  • Testowanie — minimalna szerokość 220 dp na Androidzie, 320 pt na iPadzie.
  • Podsumowanie — Split Screen to obowiązkowy tryb dla tabletów i urządzeń składanych, który wymaga opracowania cyklu życia i adaptacyjnych layoutów.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również