<совместимые экраны>

синтаксис:
<compatible-screens>
    <screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
            android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"
                                   | "280" | "360" | "420" | "480" | "560" ] />
    ...
</compatible-screens>
содержится в:
<manifest>
описание:
Указывает каждую конфигурацию экрана, с которой совместимо приложение. В манифесте разрешен только один экземпляр элемента <compatible-screens> , но он может содержать несколько элементов <screen> . Каждый элемент <screen> определяет определенную комбинацию размера и плотности экрана, с которой совместимо приложение.

Система Android ни на каком этапе не считывает элемент манифеста <compatible-screens> . Этот элемент носит исключительно информационный характер и используется внешними сервисами, такими как Google Play, для лучшего понимания совместимости приложения с конкретными конфигурациями экрана и включения фильтрации для пользователей.

Любая конфигурация экрана, не объявленная в этом элементе, является экраном, с которым приложение несовместимо . Внешние сервисы, такие как Google Play, не предоставляют приложения для устройств с такими экранами.

Внимание: Обычно этот элемент манифеста не используется . Использование этого элемента может значительно сократить потенциальную базу пользователей вашего приложения, не позволяя пользователям устанавливать ваше приложение, если у них есть устройство с конфигурацией экрана, которую вы не указали. Используйте его только в крайнем случае, когда приложение абсолютно не работает с определенными конфигурациями экрана. Вместо использования этого элемента следуйте руководству по поддержке нескольких экранов, чтобы обеспечить масштабируемую поддержку нескольких экранов с использованием альтернативных макетов и растровых изображений для разных размеров и плотностей экрана.

Если вы хотите установить минимальный размер экрана для вашего приложения, используйте элемент <supports-screens> . Например, если вы хотите, чтобы ваше приложение было доступно только для устройств с большими и очень большими экранами, элемент <supports-screens> позволяет объявить, что ваше приложение не поддерживает экраны малого и нормального размеров. Затем внешние сервисы, такие как Google Play, соответствующим образом фильтруют ваше приложение. Вы также можете использовать элемент <supports-screens> , чтобы объявить, может ли система изменять размер вашего приложения для разных размеров экрана.

Дополнительную информацию о том, как Google Play фильтрует приложения с использованием этого и других элементов манифеста, см. в разделе Фильтры в Google Play .

дочерние элементы:
<screen>

Указывает конфигурацию одного экрана, с которой совместимо приложение.

Хотя бы один экземпляр этого элемента должен быть помещен внутри элемента <compatible-screens> >. Этот элемент должен включать атрибуты android:screenSize и android:screenDensity . Если вы не объявите оба атрибута, элемент игнорируется.

Атрибуты:

android:screenSize
Необходимый. Указывает размер экрана для этой конфигурации экрана.

Принятые значения:

  • small
  • normal
  • large
  • xlarge

Информацию о различных размерах экрана см. в разделе Обзор совместимости экранов .

android:screenDensity
Необходимый. Определяет плотность экрана для этой конфигурации экрана.

Принятые значения:

  • "ldpi" (приблизительно 120 точек на дюйм)
  • "mdpi" (приблизительно 160 точек на дюйм)
  • "hdpi" (приблизительно 240 точек на дюйм)
  • "xhdpi" (приблизительно 320 точек на дюйм)
  • "280"
  • "360"
  • "420"
  • "480"
  • "560"

Информацию о различной плотности экрана см. в разделе Обзор совместимости экранов .

пример

Если ваше приложение совместимо только с маленькими и обычными экранами, независимо от плотности экрана, вам необходимо указать 12 элементов <screen> , поскольку каждый размер экрана имеет шесть различных конфигураций плотности.

Вы должны объявить каждый из них. Любое сочетание размера и плотности, которое вы не указываете, считается конфигурацией экрана, с которой ваше приложение несовместимо . Вот как выглядит запись манифеста, если ваше приложение совместимо только с маленькими и обычными экранами:

<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>
представлено в:
API-уровень 9
см. также:
Обзор совместимости экрана
Фильтры в Google Play