<兼容屏幕>

语法:
<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"

如需了解不同的屏幕密度,请参阅屏幕兼容性概览

示例

如果您的应用仅与小屏幕和标准屏幕兼容(无论屏幕密度如何),则必须指定十二种不同的 <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 上的过滤器