Split Screen — шта је то, режим две апликације на екрану

Аутор: IT Sectr Објављено: 2026-06-08 Време читања: 9 мин

Split Screen — је режим подељеног екрана који омогућава истовремено покретање две апликације једну поред друге, делећи доступни простор. Корисник може да превлачи разделник између прозора, мења пропорције и брзо пребацује апликације у свакој половини. Према Android Developers (2025), Split Screen је део обавезног програма компатибилности за све уређаје са ширином екрана од 600 dp и подржан је како на Android-у, тако и на iPadOS.

Главно

  • Split Screen — две апликације на екрану са превлачивим разделником.
  • Android Split Screen — ради од Android 7.0, активира се преко Overview.
  • iPad Split View — сличан режим у iPadOS са три позиције разделника.
  • Адаптација — апликација мора да обрађује промену величине прозора и чува стање.
  • Минимална ширина — прозор апликације у Split Screen-у може да се смањи до 220 dp.

Шта је Split Screen?

Split Screen — је режим мултитаскинга у коме се екран дели на две функционалне области, од којих свака садржи посебну апликацију. За разлику од Slide Over или PiP, где један прозор лебди изнад другог, Split Screen даје обема апликацијама једнак статус — свака добија своју половину екрана.

Режим је доступан на Android-у (од 7.0 Nougat), iPadOS (од iOS 9), Windows-у (Snap Assist) и неким десктоп окружењима Linux-а. У мобилном развоју, Split Screen се сматра обавезним сценаријом за таблете и склопиве уређаје, где је мултитаскинг кључна предност платформе.

Корисник активира Split Screen дугим притиском на икону апликације у Overview (Android) или превлачењем из Dock-а (iPad). Након активације, екран се дели, а корисник бира другу апликацију са листе недавних или из Dock-а.

Split Screen на Android-у: како ради

У Android-у, Split Screen се управља путем Window Manager-а. Када корисник активира режим, систем креира два StackView — по један за сваки Activity. Разделник између прозора црта систем, његова минимална дебљина је 1 dp, али може бити повећана на уређајима са Gesture Navigation.

Свака апликација добија обавештење о промени величине путем onConfigurationChanged. Ако Activity не обрађује овај догађај — уништава се и поново креира. За видео записе и игре ово је критично: поновно креирање Activity ресетује позицију репродукције или стање игре.

Пропорције прозора могу се мењати превлачењем разделника. Android подржава три стања: 50/50, 70/30 и 30/70. Корисник такође може да замени апликације места — то изазива поновно покретање Activity, ако се не обрађује configChanges.

Split View на iPadOS: карактеристике

Split View — је имплементација Split Screen-а у iPadOS. За разлику од Android-а, где подела екрана увек иде од центра, iPadOS нуди кориснику три позиције разделника: 50/50, 25/75 и 75/25. Режим се активира преко Dock-а или App Exposé-а.

У iPadOS, апликација у Split View-у може бити смањена у Slide Over — плутајући прозор. Ово је јединствена Apple-ова карактеристика: корисник може да трансформише један од прозора из Split View-а у Slide Over и назад без губитка података. Програмер мора да подржава сва три режима: full screen, Split View и Slide Over.

Да би подржао Split View у iOS-у, апликација мора да имплементира адаптивне распореде кроз Size Classes и сцену (UIScene). Од iOS 13, Apple захтева да апликација правилно обрађује режим више прозора — у супротном систем може принудно да поново покрене Activity на iPad-у.

Обрада промена конфигурације

При уласку и изласку из Split Screen-а долази до промена конфигурације: мењају се ширина, висина и однос страница прозора. Стандардно понашање Android-а — поновно креирање Activity (onDestroy + onCreate). Да бисте то избегли, наведите android:configChanges у манифесту.

При поновном креирању Activity губи стање View-а и ViewModel-а. Користите SavedStateHandle за чување UI стања или ViewModel са ограниченим опсегом на Application. Алтернатива — onRetainNonConfigurationInstance() за сложене објекте.

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

У iPadOS, аналогни механизам — traitCollectionDidChange или viewWillTransitionToSize. Програмер добија нову величину контејнера и мора да преуреди распоред у складу са Size Class-ом.

Подршка за Split Screen у коду

На Android-у, подршка за Split Screen почиње постављањем заставице resizeableActivity у манифесту. Након тога, Activity се може смањити до минималне ширине од 220 dp. Ако апликација не подржава тако узан екран — наведите android:minWidth у манифесту.

За iPad, програмеру је довољно да подржава Size Classes и користи Auto Layout или SwiftUI. SwiftUI аутоматски прилагођава интерфејс при преласку у Split View — на пример, NavigationSplitView се пребацује између stacked и side-by-side режима.

Препоручује се тестирање Split Screen-а на стварним уређајима или у емулатору са подешавањем multi-resizable window. Android Emulator омогућава покретање произвољног броја прозора путем ADB-а и проверу понашања апликације у различитим пропорцијама.

ПлатформаМеханизам адаптацијеМинимална ширина
AndroidresizeableActivity + configChanges220 dp
iPadOSSize Classes + UIScene320 pt (primary)

Типичне грешке при имплементацији

Прва грешка — игнорисање чувања стања. У Split Screen-у, Activity може бити поново креирана у било ком тренутку без учешћа корисника. Ако се подаци чувају само у локалним променљивим — изгубиће се. Користите ViewModel за податке на екрану и SavedStateHandle за критична стања.

Друга грешка — скривање садржаја при смањењу прозора. Неки програмери крију елементе када ширина постане мања од одређеног прага. Правилан приступ — преуређење распореда: на уском екрану приказујте само најважније ствари, а не скривајте све. Window Size Class даје готове breakpoint-е за ову логику.

Трећа грешка — необрађивање onWindowFocusChanged. У Split Screen-у, фокус може да се пребацује између прозора без затварања апликације. Игнорисање овог догађаја доводи до заустављања видео плејера када корисник само погледа у суседни прозор.

Често постављана питања

Како програмски покренути апликацију у Split Screen-у?

Користите Intent са FLAG_ACTIVITY_LAUNCH_ADJACENT. Ако се уређај налази у Split Screen-у, апликација ће се отворити у суседном прозору. Ако је уређај у режиму пуног екрана — заставица се игнорише.

Да ли се животни циклус Activity разликује у Split Screen-у?

Да. Activity остаје видљива, али губи фокус — позива се onPause, али не и onStop. При изласку из Split Screen-а позива се onMultiWindowModeChanged, затим onResume.

Како проверити ширину прозора у Split Screen-у?

Користите WindowManager.getCurrentWindowMetrics() или Jetpack WindowManager. Немојте користити Display.getSize() — враћа цео екран, а не тренутни прозор апликације.

Да ли је Split Screen подржан на склопивим уређајима?

Да. На расклопљеном уређају, Split Screen је често подразумевани режим. Samsung Galaxy Z Fold у пејзажном режиму нуди Split Screen са три апликације истовремено.

Како онемогућити Split Screen за одређени Activity?

Поставите android:resizeableActivity="false" за тај Activity. За API 24+, заставица забрањује Split Screen. На Android 12L+ користите android:minWidth и android:minHeight.

Закључак

  • Split Screen — режим две апликације на екрану, доступан на Android-у и iPadOS-у.
  • Android — ради путем resizeableActivity + onConfigurationChanged.
  • iPadOS — Split View са три позиције разделника, трансформација у Slide Over.
  • Адаптација — обрада промене величине кроз configChanges или поновно креирање.
  • Чување стања — ViewModel и SavedStateHandle су обавезни за Split Screen.
  • Тестирање — минимална ширина 220 dp на Android-у, 320 pt на iPad-у.
  • Закључак — Split Screen је обавезан режим за таблете и склопиве уређаје, који захтева разраду животног циклуса и адаптивних распореда.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође