Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

<compatible-screens>

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 (ni durante la instalación ni durante el tiempo de ejecución). 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 permitir que los usuarios usen los filtros. Cualquier configuración de pantalla que no se declare en este elemento es una pantalla con la cual la aplicación no es compatible. Por lo tanto, los servicios externos (como Google Play) no deben proporcionar la aplicación a los dispositivos con dichas pantallas.

Precaución: Normalmente, no deberías usar este elemento del manifiesto, ya que puede reducir de forma drástica la base de usuarios potenciales de tu aplicación, debido a que no permite que instalen la aplicación si tienen un dispositivo con una configuración de pantalla que no incluiste. Debes usarlo solo como último recurso, cuando la aplicación no funciona con configuraciones de pantalla específicas. En lugar de utilizar 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 configurar solo un tamaño mínimo de pantalla para tu aplicación, debes usar 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. Los servicios externos (como Google Play) filtrarán tu aplicación de acuerdo a esta configuración. 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.

Consulta también el documento Filtros en Google Play para obtener más información sobre cómo este servicio filtra las aplicaciones que utilizan este y otros elementos del manifiesto.

elementos secundarios:
<screen>
Especifica una configuración de 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 Compatibilidad con varias 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 Compatibilidad con varias pantallas.

ejemplo

Si tu aplicación es compatible solo con pantallas pequeñas y normales, independientemente de la densidad, debes especificar doce elementos <screen> diferentes, ya que cada tamaño de pantalla tiene seis configuraciones de densidad diferentes. Debes declarar cada uno de ellos, ya que se considerará no compatible con tu aplicación cualquier combinación de tamaño y densidad que no especifiques. Así es como 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:
API nivel 9
consulta también:
Compatibilidad con varias pantallas
Filtros en Google Play