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 дава готови точки на прекъсване за тази логика.

Трета грешка — необработване на 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 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също