Split Screen is a split-screen mode that lets you run two apps side by side, dividing the available space. The user can drag the divider between windows, adjust proportions, and quickly switch apps in each half. According to Android Developers (2025), Split Screen is part of the mandatory compatibility program for all devices with a screen width of 600 dp and above, and is supported on both Android and iPadOS.
Key Takeaways
Split Screen is a multitasking mode where the screen is divided into two functional areas, each containing a separate app. Unlike Slide Over or PiP, where one window floats on top of another, Split Screen gives both apps equal status — each gets its own half of the screen.
The mode is available on Android (since 7.0 Nougat), iPadOS (since iOS 9), Windows (Snap Assist), and some Linux desktop environments. In mobile development, Split Screen is considered a mandatory scenario for tablets and foldable devices, where multitasking is a key platform advantage.
The user activates Split Screen by long-pressing the app icon in Overview (Android) or by dragging from the Dock (iPad). After activation, the screen splits, and the user selects the second app from the recent list or from the Dock.
In Android, Split Screen is managed via Window Manager. When the user activates the mode, the system creates two StackViews — one for each Activity. The divider between windows is rendered by the system, with a minimum thickness of 1 dp, which may be increased on devices with Gesture Navigation.
Each app receives a size change notification via onConfigurationChanged. If the Activity does not handle this event, it is destroyed and recreated. For video and games this is critical: recreating the Activity resets the playback position or game state.
Window proportions can be changed by dragging the divider. Android supports three states: 50/50, 70/30, and 30/70. The user can also swap apps, which triggers an Activity restart if configChanges is not handled.
Split View is the Split Screen implementation in iPadOS. Unlike Android, where screen division always starts from the center, iPadOS offers the user three divider positions: 50/50, 25/75, and 75/25. The mode is activated via the Dock or App Exposé.
In iPadOS, an app in Split View can be collapsed into Slide Over — a floating window. This is a unique Apple feature: the user can transform one of the windows from Split View to Slide Over and back without data loss. The developer must support all three modes: full screen, Split View, and Slide Over.
To support Split View in iOS, the app must implement adaptive layouts via Size Classes and scene (UIScene). Since iOS 13, Apple requires the app to correctly handle multi-window mode — otherwise the system may forcibly restart the Activity on iPad.
When entering and exiting Split Screen, configuration changes occur: the width, height, and aspect ratio of the window change. The standard Android behavior is to recreate the Activity (onDestroy + onCreate). To avoid this, specify android:configChanges in the manifest.
When recreating, the Activity loses View and ViewModel state. Use SavedStateHandle to save UI state or a ViewModel scoped to the Application. An alternative is onRetainNonConfigurationInstance() for complex objects.
@Override
fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
val isSplitScreen = isInMultiWindowMode()
if (isSplitScreen) {
adjustLayoutForSplitScreen()
}
}
In iPadOS, the equivalent mechanism is traitCollectionDidChange or viewWillTransitionToSize. The developer receives the new container size and must rebuild the layout according to the Size Class.
On Android, Split Screen support starts with setting the resizeableActivity flag in the manifest. After that, the Activity can shrink to a minimum width of 220 dp. If the app does not support such a narrow screen, specify android:minWidth in the manifest.
For iPad, the developer only needs to support Size Classes and use Auto Layout or SwiftUI. SwiftUI automatically adapts the interface when entering Split View — for example, NavigationSplitView switches between stacked and side-by-side modes.
It is recommended to test Split Screen on real devices or in an emulator with multi-resizable window settings. The Android Emulator allows launching any number of windows via ADB and checking the app’s behavior in different proportions.
| Platform | Adaptation Mechanism | Minimum Width |
|---|---|---|
| Android | resizeableActivity + configChanges | 220 dp |
| iPadOS | Size Classes + UIScene | 320 pt (primary) |
The first mistake is ignoring state preservation. In Split Screen, the Activity can be recreated at any moment without user action. If data is stored only in local variables, it will be lost. Use ViewModel for screen data and SavedStateHandle for critical states.
The second mistake is hiding content when the window shrinks. Some developers hide elements when the width drops below a certain threshold. The correct approach is to rebuild the layout: on a narrow screen, show only the most important content rather than hiding everything. Window Size Class provides ready-made breakpoints for this logic.
The third mistake is not handling onWindowFocusChanged. In Split Screen, focus can switch between windows without closing the app. Ignoring this event causes the video player to stop when the user simply looks at the adjacent window.
Frequently Asked Questions
Use an Intent with FLAG_ACTIVITY_LAUNCH_ADJACENT. If the device is in Split Screen, the app will open in the adjacent window. If the device is in full-screen mode, the flag is ignored.
Yes. The Activity remains visible but loses focus — onPause is called, but not onStop. When exiting Split Screen, onMultiWindowModeChanged is called, followed by onResume.
Use WindowManager.getCurrentWindowMetrics() or Jetpack WindowManager. Do not use Display.getSize() — it returns the full screen, not the current app window.
Yes. On a device in unfolded state, Split Screen is often the default mode. Samsung Galaxy Z Fold in landscape mode offers Split Screen with three apps simultaneously.
Set android:resizeableActivity="false" for that Activity. For API 24+, this flag disables Split Screen. On Android 12L+, use android:minWidth and android:minHeight.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also