La renderización en ventanas en computadoras de escritorio permite a los usuarios ejecutar varias apps simultáneamente en la que se puede cambiar el tamaño. las ventanas de aplicaciones para tener una experiencia versátil, similar a la de una computadora de escritorio.
En la figura 1, puedes ver la organización de la pantalla con la renderización en ventanas de escritorio. habilitado. Información que debes tener en cuenta:
- Los usuarios pueden ejecutar varias apps en paralelo de forma simultánea.
- La barra de tareas está en una posición fija en la parte inferior de la pantalla y muestra las apps en ejecución. Los usuarios pueden fijar apps para acceder a ellas rápidamente.
- La nueva barra de encabezado personalizable decora la parte superior de cada ventana con controles como minimizar y maximizar.
De forma predeterminada, las apps se abren en pantalla completa en las tablets Android. Para iniciar una app en ventanas de escritorio, mantén presionado el control de la ventana en la parte superior de la pantalla y arrástralo dentro de la IU, como se muestra en la figura 2.
Cuando una aplicación se abre en un sistema de ventanas de escritorio, otras aplicaciones se abren en ventanas de escritorio como en la nube.
Los usuarios también pueden invocar la renderización en ventanas de escritorio desde el menú que aparece debajo de el controlador de la ventana cuando presionas o haces clic en el controlador, o usas la combinación de teclas Tecla Meta (Windows, Comando o Búsqueda) + Ctrl + Abajo.
Para salir de la ventana del escritorio, los usuarios cierran todas las ventanas activas o toman el control de la ventana en la parte superior de una ventana de escritorio y arrastran la app a la parte superior de la pantalla. También puedes salir de la combinación de teclas Meta + H. el sistema de ventanas del escritorio y vuelve a ejecutar las aplicaciones en pantalla completa.
Para volver a la ventana de escritorio, presiona o haz clic en la tarjeta de espacio de escritorio en la pantalla de elementos recientes.
Modo de compatibilidad y cambio de tamaño
En el sistema de ventanas de escritorio, las apps con orientación fija se pueden cambiar de tamaño libremente. Eso significa que, incluso si una actividad está bloqueada en orientación vertical, los usuarios pueden cambiar el tamaño de la app a una ventana de orientación horizontal.
Las apps declaradas como no ajustables (es decir, resizableActivity = false
) tienen su IU ajustada mientras se mantiene la misma relación de aspecto.
Las apps de cámara que bloquean la orientación o se declaran como no ajustables tienen una tratamiento especial para los visores de la cámara: la ventana puede cambiar de tamaño por completo, pero el visor mantiene la misma relación de aspecto. Si supones que las apps siempre se ejecutan en modo vertical u horizontal, las apps codifican de forma rígida o hacen suposiciones que llevan a errores de cálculo de la vista previa o la orientación de la imagen capturada o la relación de aspecto, lo que genera imágenes estiradas, laterales o al revés.
Hasta que las apps estén listas para implementar visores de cámara completamente responsivos, el tratamiento especial proporciona una experiencia del usuario más básica que mitiga los efectos que pueden causar las suposiciones incorrectas.
Para obtener más información sobre el modo de compatibilidad de las apps de cámara, consulta Modo de compatibilidad del dispositivo.
Inserciones de encabezado personalizables
Todas las apps que se ejecutan en ventanas de escritorio tienen una barra de encabezado, incluso en el modo envolvente.
Asegúrate de que la barra del encabezado no oculte el contenido de tu app.
La barra de encabezado es un tipo de inserción de barra de leyenda: androidx.compose.foundation.layout.WindowInsets.Companion.captionBar()
; en vistas, WindowInsets.Type.captionBar()
, que forma parte de las barras del sistema.
Puedes obtener más información para controlar las inserciones en Cómo mostrar el contenido de borde a borde en tu app y controlar las inserciones de ventana en Compose.
La barra del encabezado también se puede personalizar. Android 15 introdujo el tipo de apariencia APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND
para hacer que la barra del encabezado sea transparente y permitir que las apps dibujen contenido personalizado dentro de ella.
Así, las apps se encargan de diseñar la parte superior del contenido para la barra de subtítulos (fondo, contenido personalizado, etc.) con la a excepción de los elementos de leyendas del sistema (botones para cerrar y maximizar), que son dibujado por el sistema en la barra de subtítulos transparente de la parte superior de la app.
Las apps pueden activar o desactivar la apariencia de los elementos del sistema dentro de la leyenda para
los temas claro y oscuro con APPEARANCE_LIGHT_CAPTION_BARS
,
similar a la que se activa o desactiva la barra de estado y la de navegación.
Android 15 también introdujo
WindowInsets#getBoundingRects()
que permite a las apps examinar las inserciones de la barra de subtítulos con más detalle.
Las apps pueden diferenciar entre áreas en las que el sistema dibuja elementos del sistema y
áreas no utilizadas en las que las apps pueden colocar contenido personalizado sin superposición de elementos del sistema.
La lista de objetos Rect
que muestra la API indica las regiones del sistema que se deben evitar. El espacio restante (que se calcula restando los rectángulos de los rellenos de la barra de subtítulos) es donde la app puede dibujar sin superponer elementos del sistema y con la capacidad de recibir entradas.
Compatibilidad con instancias y tareas múltiples
La multitarea es el núcleo del sistema de ventanas de escritorio y permite múltiples de tu app pueden aumentar mucho la productividad de los usuarios.
Android 15 introduce PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI, qué aplicaciones pueden configurar para especificar que se debe mostrar la IU del sistema para que la aplicación permiten que se inicie como varias instancias.
Administra las instancias de la app con gestos de arrastre
En el modo multiventana, los usuarios pueden iniciar una nueva instancia de app arrastrando una vista. fuera de la ventana de la app. Los usuarios también pueden mover elementos entre instancias de la misma app.
Android 15 presenta dos marcas para personalizar el comportamiento de arrastrar y soltar:
DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG
: Indica que se debe delegar un arrastre no controlado al sistema para que se inicie. Si no hay ninguna ventana visible, controla la acción de soltar. Cuando se usa esta marca, el emisor debe proporcionarClipData
con unItem
que contiene unIntentSender
inmutable a un actividad que se iniciará (consultaClipData.Item.Builder#setIntentSender()
). El sistema puede iniciar o no el intent en función de factores como la pantalla actual. el tamaño del panel o el modo de renderización en ventanas. Si el sistema no inicia el intent, este se cancela a través del flujo normal de arrastrar y soltar.DRAG_FLAG_GLOBAL_SAME_APPLICATION
: Indica que una operación de arrastre puede cruzar los límites de las ventanas (para varias instancias de la misma aplicación).Cuando se llama a
startDragAndDrop()
con esta marca establecida, solo las ventanas visibles que pertenecen a la misma aplicación pueden participar en la operación de arrastre y recibir el contenido arrastrado.
Optimizaciones adicionales
Personaliza los inicios de las apps y realiza la transición de las apps de la renderización en ventanas de escritorio a la pantalla completa.
Especifica el tamaño y la posición predeterminados
No todas las apps, incluso si se pueden cambiar de tamaño, necesitan una ventana grande para ofrecer valor al usuario.
Puedes usar el método ActivityOptions#setLaunchBounds()
para especificar un tamaño y una posición predeterminados cuando se inicia una actividad.
Cómo ingresar al modo de pantalla completa desde el espacio de escritorio
Las apps pueden ingresar al modo de pantalla completa de forma programática llamando a
Activity#requestFullScreenMode()
El método coloca la app en el modo de pantalla completa directamente desde la ventana del escritorio.