Compatibilidad con el modo multiventana

En Android 7.0 y versiones posteriores, los dispositivos pueden mostrar varias apps simultáneamente con el modo multiventana. Android admite tres configuraciones multiventana:

  • La pantalla dividida es la opción multiventana predeterminada. que proporciona dos paneles de actividad en los que los usuarios pueden colocar de Google Chat.
  • Formato libre permite a los usuarios cambiar dinámicamente el tamaño del paneles de actividad y tener más de dos apps visibles en su pantalla.
  • Pantalla en pantalla (PIP) permite que los dispositivos Android reproducir contenido de video en una ventana pequeña mientras el usuario interactúa con otras apps.

Implementación

La compatibilidad con el modo multiventana está habilitada de forma predeterminada en Android 7.0 y versiones posteriores. Para inhabilitarlo, establece la marca config_supportsMultiWindow en false en el config.xml.

El modo multiventana está inhabilitado de forma predeterminada en todos los dispositivos con poca RAM (dispositivos que declarar ActivityManager.isLowRam()). Dispositivos con poca RAM ignora el valor de la marca config_supportsMultiWindow.

Pantalla dividida

La experiencia predeterminada en Multiventana es el modo de pantalla dividida, donde el sistema La IU se divide en la mitad del dispositivo, en orientación horizontal o vertical. Los usuarios pueden cambiar el tamaño de la ventana arrastrando la línea divisoria de lado a lado. o de arriba abajo, según la orientación del dispositivo.

Después de habilitar la pantalla dividida, los fabricantes de dispositivos pueden elegir habilitar formato libre o PIP.

Android 8.0 y las versiones posteriores mejoran la pantalla dividida comprimiendo el selector cuando el usuario presione Página principal. Para obtener más información sobre la implementación, consulta Interacciones con pantalla dividida.

Formato libre

Después de habilitar el modo multiventana con el botón config_supportsMultiWindow, los fabricantes de dispositivos pueden permiten la renderización en ventanas de formato libre. Este modo es muy útil en dispositivos más grandes, como las tabletas.

Para admitir el modo de forma libre, habilita la Sistema de PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT función en /android/frameworks/base/core/java/android/content/pm/PackageManager.java y establece config_freeformWindowManagement en true en config.xml.

    <bool name="config_freeformWindowManagement">true</bool>
    

Pantalla en pantalla

Después de habilitar el modo multiventana con el botón config_supportsMultiWindow, los fabricantes de dispositivos pueden asistencia pantalla en pantalla, que permite que los usuarios miren video mientras exploras otras actividades. Aunque esta función está orientada a Dispositivos Android Television, es posible que otros tipos de dispositivos sean compatibles con esta función.

Para admitir el modo PIP, habilita el PackageManager#FEATURE_PICTURE_IN_PICTURE función del sistema en /android/frameworks/base/core/java/android/content/pm/PackageManager.java

Para obtener más detalles sobre la implementación de PIP en dispositivos con Android 8.0 y más arriba,consulta la sección Pantalla en pantalla .

IU del sistema

Se admiten todas las IUs estándar del sistema según Documentación para desarrolladores sobre el modo multiventana.

Apps

Para admitir el modo multiventana en apps precargadas, consulta el Documentación para desarrolladores de Android

Validación

Para validar tu implementación del modo multiventana, ejecuta el CTS relacionado y sigue las instrucciones de prueba para el modo multiventana.

En Android 7.0, las pruebas están en /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts En Android 8.0 y versiones posteriores, las pruebas están en /platform/cts/tests/framework/base/activitymanager/src/android/server/am