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