В Android 7.0 и выше устройства могут отображать несколько приложений одновременно с помощью многооконного режима. Android поддерживает три многооконной конфигурации:
- Freeform позволяет пользователям динамически изменять размер панелей активности и отображать на экране более двух приложений.
- Разделенный экран — это стандартная реализация многооконного режима, которая предоставляет две панели действий, на которых пользователи могут размещать приложения.
- Функция «картинка в картинке» (PIP) позволяет устройствам Android воспроизводить видеоконтент в небольшом окне, пока пользователь взаимодействует с другими приложениями.
Выполнение
Поддержка многооконного режима включена по умолчанию в Android 7.0 и выше. Чтобы отключить ее, установите флаг config_supportsMultiWindow
на false
в файле config.xml вашего устройства.
Многооконный режим отключен по умолчанию на всех устройствах с малым объемом оперативной памяти (устройствах, которые объявляют ActivityManager.isLowRam()
). Устройства с малым объемом оперативной памяти игнорируют значение флага config_supportsMultiWindow
.
Свободная форма
После включения многооконного режима с помощью флага config_supportsMultiWindow
производители устройств могут разрешить свободное оконное управление. Этот режим наиболее полезен на больших устройствах, таких как планшеты.
Для поддержки режима свободной формы включите системную функцию PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
в /android/frameworks/base/core/java/android/content/pm/PackageManager.java
и установите для config_freeformWindowManagement
значение true
в config.xml .
<bool name="config_freeformWindowManagement">true</bool>
В Android 16 OEM-производители могут поддерживать оконный режим рабочего стола на своих устройствах для произвольной конфигурации нескольких окон с помощью параметра «Включить оконный режим рабочего стола» .
Включить оконный режим рабочего стола
Чтобы включить функцию оконного режима рабочего стола на вашем устройстве, выполните следующие действия:
- Убедитесь, что ваше устройство поддерживает окна свободной формы .
- Установите флаг наложения конфигурации
config_isDesktopModeSupported
вtrue
вconfig.xml
:<bool name="config_isDesktopModeSupported">true</bool>
- Чтобы включить свободное оконное отображение на внутреннем дисплее вашего устройства, установите флаг наложения конфигурации
config_canInternalDisplayHostDesktops
вtrue
вconfig.xml
. Этот флаг игнорируется, еслиconfig_isDesktopModeSupported
имеетfalse
:<bool name="config_canInternalDisplayHostDesktops">true</bool>
Включить ограничения задач
Чтобы настроить максимальное количество задач, поддерживаемых окнами рабочего стола, выполните следующие действия:
- Включить управление окнами рабочего стола .
- Установите флаг наложения конфигурации
config_maxDesktopWindowingActiveTasks
вconfig.xml
на максимальное количество поддерживаемых задач. Для поддержки неограниченного количества задач установите флаг на значение по умолчанию0
:<bool name="config_maxDesktopWindowingActiveTasks">4</integer>
Разделенный экран
По умолчанию в многооконном режиме используется режим разделенного экрана, в котором системный пользовательский интерфейс разделен посередине устройства в портретной или ландшафтной ориентации. Пользователи могут изменять размер окна, перетаскивая разделительную линию из стороны в сторону или сверху вниз, в зависимости от ориентации устройства.
После включения режима разделения экрана производители устройств могут выбрать режим свободной формы или PIP.
Android 8.0 и выше улучшает разделение экрана, сжимая лаунчер, когда пользователь нажимает Домой . Подробности реализации см. в разделе Взаимодействие с разделением экрана .
Картинка в картинке
После включения многооконного режима с помощью флага config_supportsMultiWindow
производители устройств могут поддерживать функцию «картинка в картинке» , которая позволяет пользователям смотреть видео, одновременно занимаясь другими делами. Хотя эта функция ориентирована на устройства Android Television, другие типы устройств могут ее поддерживать.
Для поддержки PIP включите системную функцию PackageManager#FEATURE_PICTURE_IN_PICTURE
в /android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
Более подробную информацию о реализации PIP для устройств под управлением Android 8.0 и выше можно найти на странице «Картинка в картинке» .
Системный пользовательский интерфейс
Поддержка всех стандартных системных пользовательских интерфейсов в соответствии с документацией для разработчиков многооконного режима .
Приложения
Информацию о поддержке многооконного режима для предустановленных приложений см. в документации для разработчиков Android .
Проверка
Чтобы проверить реализацию многооконного режима, запустите соответствующие тесты CTS и следуйте инструкциям по тестированию для многооконного режима .