<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 上的过滤器