Se ignoran las restricciones de orientación y cambio de tamaño

Ahora que las apps para Android se ejecutan en una variedad de dispositivos (como teléfonos, tablets, plegables, computadoras de escritorio, automóviles y TVs) y modos de ventanas en pantallas grandes (como pantalla dividida y ventanas de escritorio), los desarrolladores deben crear apps para Android que se adapten a cualquier tamaño de pantalla y ventana, independientemente de la orientación del dispositivo. Los paradigmas como la restricción de la orientación y el cambio de tamaño son demasiado restrictivos en el mundo actual de múltiples dispositivos.

Ignora las restricciones de orientación, cambio de tamaño y relación de aspecto

En el caso de las apps que se segmentan para Android 17 o versiones posteriores, las restricciones de orientación, cambio de tamaño y relación de aspecto ya no se aplican en pantallas cuya menor ancho es superior a 600 dp. Las apps ocupan toda la ventana de visualización, independientemente de la relación de aspecto o la orientación preferida del usuario, y no se usa el formato pillarbox.

Android 17 quita la inhabilitación temporal para desarrolladores de las restricciones de orientación y cambio de tamaño en dispositivos con pantalla grande que se proporcionó en Android 16.

Este cambio introduce un nuevo comportamiento estándar de la plataforma. Android se está moviendo hacia un modelo en el que se espera que las apps se adapten a varias orientaciones, tamaños de pantalla y relaciones de aspecto. Las restricciones, como la orientación fija o la capacidad de cambio de tamaño limitada, dificultan la adaptabilidad de la app. Haz que tu app sea adaptable para ofrecer la mejor experiencia del usuario posible.

También puedes probar este comportamiento con el marco de compatibilidad de apps y habilitar la marca de compatibilidad UNIVERSAL_RESIZABLE_BY_DEFAULT.

Cambios rotundos comunes

Ignorar las restricciones de orientación, cambio de tamaño y relación de aspecto podría afectar la IU de tu app en algunos dispositivos, en especial los elementos diseñados para diseños pequeños bloqueados en orientación vertical. Por ejemplo, las apps pueden tener problemas como diseños estirados y animaciones y componentes fuera de la pantalla. Cualquier suposición que hagas sobre la relación de aspecto o la orientación puede causar problemas visuales en tu app. Obtén más información para evitar estos problemas y mejorar el comportamiento adaptable de tu app.

Un problema común en los dispositivos plegables horizontales o para los cálculos de la relación de aspecto en situaciones como multiventana, ventanas de escritorio o pantallas conectadas es cuando la vista previa de la cámara aparece estirada, rotada o recortada. Este problema suele ocurrir en dispositivos plegables y de pantalla grande porque las apps suponen relaciones fijas entre las funciones de la cámara (como la relación de aspecto y la orientación del sensor) y las funciones del dispositivo (como la orientación del dispositivo y la orientación natural). Obtén más información para administrar la vista previa de la cámara.

Permitir la rotación del dispositivo genera más recreaciones de actividades, lo que puede provocar la pérdida del estado del usuario si no se conserva correctamente. Obtén información para guardar correctamente el estado de la IU en Cómo guardar estados de la IU.

Detalles de implementación

Los siguientes atributos del manifiesto y APIs de tiempo de ejecución se ignoran en los dispositivos de pantalla grande en los modos de pantalla completa y multiventana:

Se ignoran los siguientes valores de screenOrientation, setRequestedOrientation() y getRequestedOrientation():

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

En cuanto al cambio de tamaño de la pantalla, android:resizeableActivity="false", android:minAspectRatio y android:maxAspectRatio no tienen ningún efecto.

Excepciones

Las restricciones de orientación, cambio de tamaño y relación de aspecto de Android 17 no se aplican en las siguientes situaciones:

  • Juegos (según la marca android:appCategory)
  • Usuarios que habilitan explícitamente el comportamiento predeterminado de la app en la configuración de relación de aspecto del dispositivo
  • Pantallas cuyo ancho más pequeño es inferior a sw600dp