<compatible-screens>

语法
<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:screenSizeandroid:screenDensity 属性。如果您未声明这两个属性,则会忽略此元素。

属性

android:screenSize
必填。指定此屏幕配置的屏幕尺寸。

可接受的值

  • small
  • normal
  • large
  • xlarge

有关不同屏幕尺寸的信息,请参阅屏幕兼容性概述

android:screenDensity
必填。指定此屏幕配置的屏幕密度。

可接受的值

  • "ldpi"(约 120 dpi)
  • "mdpi"(约 160 dpi)
  • "hdpi"(约 240 dpi)
  • "xhdpi"(约 320 dpi)
  • "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 上的筛选器