<compatible-screens>

Sintaxe:
<compatible-screens>
    <screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
            android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"
                                   | "280" | "360" | "420" | "480" | "560" ] />
    ...
</compatible-screens>
contido em:
<manifest>
descrição:
Especifica cada configuração de tela com que o aplicativo é compatível. Apenas uma instância do elemento <compatible-screens> é permitida no manifesto, mas ela pode conter vários elementos <screen>. Cada elemento <screen> indica uma combinação específica de tamanho-densidade de tela com que o app é compatível.

O sistema Android não lê o elemento de manifesto de <compatible-screens> em nenhum momento. Esse elemento é apenas informativo e usado por serviços externos (como o Google Play) para compreender melhor a compatibilidade do aplicativo com configurações de tela específicas e ativar a filtragem para os usuários.

Qualquer configuração de tela que não seja declarada nesse elemento é uma tela com que o aplicativo não é compatível. Serviços externos, como o Google Play, não fornecem o aplicativo para dispositivos com essas telas.

Cuidado: normalmente, você não usa esse elemento de manifesto. O uso desse elemento pode reduzir drasticamente a base de usuários em potencial do aplicativo, impedindo que os usuários o instalem se tiverem um dispositivo com uma configuração de tela que não esteja listada. Use-o apenas como último recurso, quando o aplicativo não funcionar com configurações de tela específicas. Em vez de usar esse elemento, siga o guia sobre Suporte a várias telas para oferecer suporte escalonável a várias telas usando layouts e bitmaps alternativos para diferentes tamanhos e densidades de tela.

Se você quiser definir um tamanho mínimo de tela para o aplicativo, use o elemento <supports-screens>. Por exemplo, se você quiser que o aplicativo esteja disponível apenas para dispositivos de tela grande e extra grande, o elemento <supports-screens> permite declarar que o aplicativo não oferece suporte para telas pequenas e normais. Em seguida, serviços externos, como o Google Play, filtram seu aplicativo conforme necessário. Você também pode usar o elemento <supports-screens> para declarar se o sistema precisa redimensionar o aplicativo em diferentes tamanhos de tela.

Para mais informações sobre como o Google Play filtra aplicativos usando esse e outros elementos de manifesto, consulte Filtros no Google Play.

elementos filhos:
<screen>

Especifica uma configuração de tela única com que o aplicativo é compatível.

Pelo menos uma instância desse elemento precisa ser colocada dentro do elemento <compatible-screens>. Esse elemento precisa incluir os atributos android:screenSize e android:screenDensity. Se você não declarar os dois atributos, o elemento será ignorado.

Atributos:

android:screenSize
Obrigatório. Especifica o tamanho da tela para esta configuração de tela.

Valores aceitos:

  • small
  • normal
  • large
  • xlarge

Para informações sobre os diferentes tamanhos de tela, consulte Visão geral de compatibilidade de tela.

android:screenDensity
Obrigatório. Especifica a densidade da tela para esta configuração de tela.

Valores aceitos:

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

Para informações sobre as diferentes densidades de tela, consulte Visão geral de compatibilidade de tela.

exemplo

Se o aplicativo for compatível somente com telas pequenas e normais, independente da densidade da tela, especifique 12 elementos <screen>, porque cada tamanho de tela tem seis configurações de densidade diferentes.

É necessário declarar cada um deles. Qualquer combinação de tamanho e densidade que você não especificar será considerada uma configuração de tela com que seu aplicativo não é compatível. A entrada do manifesto será parecida com o exemplo abaixo se o aplicativo for compatível somente com telas pequenas e normais:

<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>
introduzido no:
Nível 9 da API
Confira também:
Visão geral da compatibilidade de tela
Filtros no Google Play