sintaxis:
    <supports-screens android:resizeable=["true"| "false"]
                      android:smallScreens=["true" | "false"]
                      android:normalScreens=["true" | "false"]
                      android:largeScreens=["true" | "false"]
                      android:xlargeScreens=["true" | "false"]
                      android:anyDensity=["true" | "false"]
                      android:requiresSmallestWidthDp="integer"
                      android:compatibleWidthLimitDp="integer"
                      android:largestWidthLimitDp="integer"/>
    
se incluye en:
<manifest>
descripción:
Te permite especificar los tamaños de pantalla compatibles con tu aplicación y habilitar el modo de compatibilidad para pantallas más grandes que las que esta admite. Es importante que siempre uses este elemento en tu aplicación para especificar los tamaños de pantalla que admite.

Nota: El modo de compatibilidad de pantalla no es un modo en el que sea conveniente ejecutar tu aplicación, ya que pixela la IU y reduce su nitidez debido al zoom. La manera correcta de hacer que tu aplicación funcione bien en pantallas grandes es seguir la guía sobre Compatibilidad con varias pantallas y proporcionar diseños alternativos para diferentes tamaños de pantalla.

Una aplicación es "compatible" con un tamaño de pantalla determinado si cambia de tamaño correctamente para ocupar toda la pantalla. El cambio de tamaño normal que realiza el sistema funciona bien para la mayoría de las aplicaciones y no tienes que hacer ningún trabajo adicional para que tu aplicación funcione en pantallas más grandes que la de un dispositivo móvil. Sin embargo, a menudo es importante que optimices la IU de tu aplicación para diferentes tamaños de pantalla proporcionando recursos de diseño alternativos. Por ejemplo, es posible que desees modificar el diseño de una actividad cuando está en una tablet y cuando se ejecuta en un teléfono celular.

Sin embargo, si tu aplicación no funciona bien cuando cambia de tamaño para ajustarse a diferentes pantallas, puedes usar los atributos del elemento <supports-screens> para controlar si debe distribuirse a pantallas más pequeñas o si tu interfaz de usuario debe ampliarse ("hacerle zoom") a fin de ajustarse a pantallas más grandes utilizando el modo de compatibilidad de pantalla del sistema. Si no diseñaste tu aplicación para tamaños más grandes de pantalla y el cambio de tamaño normal no logra los resultados apropiados, el modo de compatibilidad de pantalla escalará tu IU emulando una pantalla de tamaño normal y densidad media, y haciendo zoom para que ocupe toda la pantalla. Ten en cuenta que este proceso pixela la IU y reduce su nitidez, por lo que te recomendamos optimizar la IU para que funcione en pantallas grandes.

Nota: Android 3.2 presenta nuevos atributos: android:requiresSmallestWidthDp, android:compatibleWidthLimitDp y android:largestWidthLimitDp. Si estás desarrollando tu aplicación para Android 3.2 y versiones posteriores, debes usar estos atributos para declarar con qué pantallas es compatible, en lugar de los atributos basados en tamaños generalizados.

Información sobre el modo de compatibilidad de pantalla

El modo de compatibilidad de pantalla es el último recurso para que las apps que no están diseñadas correctamente aprovechen las pantallas más grandes. No es conveniente ejecutar tu aplicación en este modo, ya que ofrece una experiencia de usuario subóptima. Existen dos versiones diferentes del modo de compatibilidad de pantalla según la versión del dispositivo en la que se ejecuta la app.

En las versiones de Android 1.6 a 3.1, el sistema ejecuta tu aplicación en una ventana de "sello postal". Emula una pantalla de 320 dp x 480 dp con un borde negro que llena el área restante.

En Android 3.2 y versiones posteriores, el sistema dibuja el diseño como lo haría en una pantalla de 320 dp x 480 dp y, luego, lo escala para ocupar todo el espacio. Esto suele provocar desperfectos en la IU, como imágenes poco nítidas o pixeladas.

Si quieres obtener más información sobre cómo diseñar una aplicación compatible con diferentes tamaños de pantalla para no tener que usar el modo de compatibilidad de pantalla, lee Compatibilidad con varias pantallas.

atributos:
android:resizeable
Indica si es posible cambiar el tamaño de la aplicación en diferentes tamaños de pantalla. Este atributo es verdadero de forma predeterminada. Si se configura como falso, el sistema ejecutará tu aplicación en modo de compatibilidad de pantalla en pantallas grandes.

Este atributo dejó de estar disponible. Se había incluido para ayudar a las aplicaciones a pasar de Android 1.5 a 1.6, cuando se introdujo por primera vez la compatibilidad con varias pantallas. No deberías usarlo.

android:smallScreens
Indica si la aplicación es compatible con factores de forma de pantalla más pequeños. Una pantalla pequeña es aquella que tiene una relación de aspecto más pequeña que la "normal" (HVGA tradicional). Los servicios externos (como Google Play) no pondrán a disponibilidad del usuario aplicaciones que no sean compatibles con pantallas pequeñas. Esto se debe a que la plataforma no puede hacer que esas aplicaciones funcionen adecuadamente en dispositivos que tengan ese tipo de pantallas. Es "true" de forma predeterminada.
android:normalScreens
Indica si una aplicación admite los factores de forma de pantalla "normales". Tradicionalmente, es una pantalla de densidad media de HVGA, pero la densidad baja de WQVGA y la de alta densidad WVGA también se consideran normales. Este atributo es "verdadero" de forma predeterminada.
android:largeScreens
Indica si la aplicación admite factores de forma con pantallas más grandes. Una pantalla grande es aquella que es mucho más grande que la de un teléfono "normal" y, por lo tanto, es posible que la aplicación requiera cierta atención para aprovecharla correctamente, aunque dependa del cambio de tamaño realizado por el sistema para ocupar la pantalla.

En realidad, el valor predeterminado correspondiente varía entre algunas versiones, por lo que es mejor si declaras explícitamente este atributo en todo momento. Ten en cuenta que configurarlo como "falso" en general habilitará el modo de compatibilidad de pantalla.

android:xlargeScreens
Indica si la aplicación admite factores de forma con pantallas extragrandes. Una pantalla extragrande es aquella que es mucho más grande que una "grande", como una tablet (o un dispositivo de mayor tamaño) y quizás la aplicación requiera cierta atención para aprovecharla correctamente, aunque dependa del cambio de tamaño realizado por el sistema para ocupar la pantalla.

En realidad, el valor predeterminado correspondiente varía entre algunas versiones, por lo que es mejor si declaras explícitamente este atributo en todo momento. Ten en cuenta que configurarlo como "falso" en general habilitará el modo de compatibilidad de pantalla.

Este atributo se introdujo en la API nivel 9.

android:anyDensity
Indica si la aplicación incluye recursos para adaptarse a cualquier densidad de pantalla.

Para aplicaciones compatibles con Android 1.6 (API nivel 4) y superior, es "verdadero" de forma predeterminada y no debes configurarlo como "falso" a menos que estés absolutamente seguro de que es necesario para que funcione. El único momento en que podría ser necesario desactivar esta configuración es si tu aplicación manipula directamente mapas de bits (consulta el documento Compatibilidad con varias pantallas para obtener más información).

android:requiresSmallestWidthDp
Especifica el ancho mínimo más pequeño requerido, que es la dimensión más corta del espacio de la pantalla (en unidades dp) que debe estar disponible para la interfaz de IU de la aplicación, es decir, la más corta de las dos dimensiones de la pantalla disponible. Por lo tanto, para que un dispositivo sea compatible con tu aplicación, el ancho más pequeño del dispositivo debe ser igual o mayor que este valor. (Por lo general, el valor que proporcionas para esto es el "ancho más pequeño" que admite tu diseño, independientemente de la orientación actual de la pantalla).

Por ejemplo, una pantalla de teléfono típica tiene un ancho más pequeño de 320 dp, una tablet de 7" tiene un ancho más pequeño de 600 dp y una tablet de 10" tiene un ancho más pequeño de 720 dp. Estos valores son generalmente el ancho más pequeño porque son la dimensión más corta del espacio disponible de la pantalla.

El tamaño con el que se compara el valor tiene en cuenta las decoraciones de la pantalla y la IU del sistema. Por ejemplo, si el dispositivo tiene algunos elementos persistentes de IU en la pantalla, el sistema declara que el ancho más pequeño es menor que el tamaño real de la pantalla, si se tiene en cuenta estos elementos de la IU porque esos píxeles no están disponibles para tu IU. Por lo tanto, el valor que utilices debe ser el ancho mínimo requerido por tu diseño, independientemente de la orientación actual de la pantalla.

Si tu aplicación cambia el tamaño correctamente para pantallas más pequeñas (hasta el tamaño pequeño o un ancho mínimo de 320 dp), no es necesario usar este atributo. De lo contrario, debes usar un valor para este atributo que coincida con el valor más pequeño que usa tu aplicación para el calificador de ancho de pantalla más pequeño (sw<N>dp).

Precaución: El sistema Android no presta atención a este atributo, por lo que no afecta el comportamiento de tu aplicación durante la ejecución. Por lo tanto, se usa para habilitar el filtrado de tu aplicación en servicios como Google Play. Sin embargo, Google Play actualmente no admite este atributo como filtro (en Android 3.2), por lo que tienes que seguir utilizando los otros atributos de tamaño si tu aplicación no es compatible con pantallas pequeñas.

Este atributo se introdujo en la API nivel 13.

android:compatibleWidthLimitDp
Este atributo permite habilitar el modo de compatibilidad de pantalla como una función opcional del usuario especificando el "ancho de pantalla más pequeño" máximo para el que está diseñada la aplicación. Si el lado más pequeño de la pantalla disponible de un dispositivo es mayor que tu valor aquí, los usuarios aún pueden instalar tu aplicación, pero se les ofrece ejecutarla en modo de compatibilidad de pantalla. De manera predeterminada, este modo está desactivado y tu diseño cambia de tamaño para adaptarse a la pantalla como de costumbre, pero hay un botón disponible en la barra del sistema que le permite al usuario activarlo y desactivarlo.

Si tu aplicación es compatible con todas las pantallas y su diseño cambia de tamaño de manera correcta, no es necesario que uses este atributo.

Nota: Actualmente, el modo de compatibilidad de pantalla emula solo las pantallas del teléfono con un ancho de 320 dp, por lo que el modo de compatibilidad de pantalla no se aplica si su valor para android:compatibleWidthLimitDp es mayor que 320.

Este atributo se introdujo en la API nivel 13.

android:largestWidthLimitDp
Este atributo te permite forzar la activación del modo de compatibilidad de pantalla especificando el "ancho de pantalla más pequeño" máximo para el que está diseñada tu aplicación. Si el lado más pequeño de la pantalla disponible de un dispositivo es mayor que tu valor aquí, la aplicación se ejecutará en modo de compatibilidad de pantalla sin que el usuario pueda desactivarla.

Si tu aplicación es compatible con todas las pantallas y su diseño cambia de tamaño de manera correcta, no es necesario que uses este atributo. De lo contrario, primero considera usar el atributo android:compatibleWidthLimitDp. Deberías usar el atributo android:largestWidthLimitDp solo si tu aplicación no funciona correctamente cuando cambia de tamaño para adaptarse a pantallas más grandes y el modo de compatibilidad de pantalla es la única forma en que los usuarios deben usarla.

Nota: Actualmente, el modo de compatibilidad de pantalla emula solo las pantallas del teléfono con un ancho de 320 dp, por lo que el modo de compatibilidad de pantalla no se aplica si su valor para android:largestWidthLimitDp es mayor que 320.

Este atributo se introdujo en la API nivel 13.

primera inclusión:
API nivel 4
consulta también: