<pantallas-compatibles>

sintaxis:
<compatible-screens>
    <screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
            android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"
                                   | "280" | "360" | "420" | "480" | "560" ] />
    ...
</compatible-screens>
se incluye en:
<manifest>
descripción:
Especifica cada configuración de pantalla con la que la aplicación es compatible. Solo se permite una instancia del elemento <compatible-screens> en el manifiesto, pero este puede contener varios elementos <screen>. Cada elemento <screen> indica una combinación de densidad de tamaño de pantalla específica con la que la aplicación es compatible.

El sistema Android no lee el elemento <compatible-screens> del manifiesto en ningún momento. Este elemento es solo informativo y pueden usarlo servicios externos (como Google Play) para comprender mejor la compatibilidad de la aplicación con configuraciones de pantalla específicas y habilitar los filtros para los usuarios puedan usarlos.

Cualquier configuración de la pantalla que no se declare en este elemento es una pantalla con la cual la aplicación no es compatible. Los servicios externos, como Google Play, no proporcionan la aplicación a los dispositivos con esas pantallas.

Precaución: Por lo general, no deberías usar este elemento del manifiesto. El uso de este elemento puede reducir notablemente la base de usuarios potenciales para tu aplicación, ya que evita que los usuarios instalen tu aplicación si tienen un dispositivo con una configuración de la pantalla que no incluiste. Debes usarlo solamente como último recurso, cuando la aplicación no funciona con alguna configuración de la pantalla específica. En lugar de usar este elemento, sigue la guía de compatibilidad con varias pantallas y proporciona compatibilidad escalable para varias pantallas utilizando diseños y mapas de bits alternativos para diferentes tamaños y densidades de pantalla.

Si deseas establecer un tamaño mínimo de pantalla para tu aplicación, usa el elemento <supports-screens>. Por ejemplo, si deseas que tu aplicación esté disponible únicamente para dispositivos con pantallas grandes y extragrandes, el elemento <supports-screens> te permite declarar que tu aplicación no admite pantallas pequeñas ni normales. Luego, los servicios externos, como Google Play, filtran la aplicación según corresponda. También puedes usar el elemento <supports-screens> para declarar si el sistema debe cambiar el tamaño de tu aplicación en función de los diferentes tamaños de pantalla.

Para obtener más información sobre cómo Google Play filtra las aplicaciones que usan este y otros elementos del manifiesto, consulta Filtros en Google Play.

elementos secundarios:
<screen>

Especifica una configuración de la pantalla única con la que la aplicación es compatible.

Debe incluirse al menos una instancia de este elemento dentro del elemento <compatible-screens>, que debe incluir los atributos android:screenSize y android:screenDensity. Si no declaras ambos, se ignora el elemento.

Atributos:

android:screenSize
Obligatorio. Especifica el tamaño de la pantalla para esta configuración.

Valores aceptados:

  • small
  • normal
  • large
  • xlarge

Para obtener información sobre los diferentes tamaños de pantalla, consulta Descripción general de la compatibilidad de pantallas.

android:screenDensity
Obligatorio. Especifica la densidad de pantalla para esta configuración.

Valores aceptados:

  • "ldpi" (aproximadamente 120 dpi)
  • "mdpi" (aproximadamente 160 dpi)
  • "hdpi" (aproximadamente 240 dpi)
  • "xhdpi" (aproximadamente 320 dpi)
  • "280"
  • "360"
  • "420"
  • "480"
  • "560"

Para obtener información sobre las diferentes densidades de pantalla, consulta Descripción general de la compatibilidad de pantallas.

ejemplo

Si tu aplicación es compatible solo con pantallas pequeñas y normales, independientemente de la densidad, debes especificar 12 elementos <screen> diferentes, ya que cada tamaño de pantalla tiene seis configuraciones de densidad diferentes.

Debes declarar cada uno de ellos. Cualquier combinación de tamaño y densidad que no especifiques se considera una configuración de la pantalla con la que tu aplicación no es compatible. A continuación, se muestra el modo en que se ve la entrada de manifiesto si tu aplicación solo admite pantallas pequeñas y normales:

<manifest ... >
    ...
    <compatible-screens>
        <!-- all small size screens -->
        <screen android:screenSize="small" android:screenDensity="ldpi" />
        <screen android:screenSize="small" android:screenDensity="mdpi" />
        <screen android:screenSize="small" android:screenDensity="hdpi" />
        <screen android:screenSize="small" android:screenDensity="xhdpi" />
        <screen android:screenSize="small" android:screenDensity="xxhdpi" />
        <screen android:screenSize="small" android:screenDensity="xxxhdpi" />
        <!-- all normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
        <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
        <screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
    </compatible-screens>
    <application ... >
        ...
    <application>
</manifest>
primera inclusión:
Nivel de API 9
Consulta también:
Descripción general de la compatibilidad de pantallas
Filtros en Google Play