In Android 7.0 and higher, devices can display multiple apps simultaneously using multi-window. Android supports three multi-window configurations:
- Freeform allows users to dynamically resize the activity panes and have more than two apps visible on their screen.
- Split-screen is the default multi-window implementation, which provides two activity panes where users can place apps.
- Picture-in-picture (PIP) allows Android devices to play video content in a small window while the user interacts with other apps.
Implementation
Multi-window support is enabled by default in Android 7.0 and higher. To disable it, set the config_supportsMultiWindow
flag to false
in your device's config.xml file.
Multi-window is disabled by default on all low-RAM devices (devices that declare ActivityManager.isLowRam()
). Low-RAM devices ignore the value of the config_supportsMultiWindow
flag.
Freeform
After enabling multi-window mode with the config_supportsMultiWindow
flag, device manufacturers can allow freeform windowing. This mode is most useful on larger devices, such as tablets.
To support freeform mode, enable the PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
system feature in /android/frameworks/base/core/java/android/content/pm/PackageManager.java
and set config_freeformWindowManagement
to true
in config.xml.
<bool name="config_freeformWindowManagement">true</bool>
Split-screen
Multi-window's default experience is split-screen mode, where the System UI is divided down the middle of the device in portrait or landscape. Users can resize the window by dragging the dividing line side to side or top to bottom, depending on the device orientation.
After enabling split-screen, device manufacturers can choose to enable freeform or PIP.
Android 8.0 and higher improves split-screen by compressing the launcher when the user taps Home. For implementation details, see Split-screen interactions.
Picture-in-picture
After enabling multi-window mode with the config_supportsMultiWindow
flag, device manufacturers can support picture-in-picture, which allows users to watch video while browsing other activities. While this feature is targeted at Android Television devices, other device types may support this feature.
To support PIP, enable the PackageManager#FEATURE_PICTURE_IN_PICTURE
system feature in /android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
For more PIP implementation details for devices running Android 8.0 and higher,see the Picture-in-picture page.
System UI
Support all standard System UIs according to Multi-window developer documentation.
Apps
To support multi-window mode for preloaded apps, consult the Android developer documentation.
Validation
To validate your implementation of multi-window, run the related CTS tests and follow the testing instructions for multi-window.