Android开发-API指南-<compatible-screens>
<compatible-screens>
英文原文:http://developer.android.com/guide/topics/manifest/compatible-screens-element.html
采集(更新)日期:2014-6-30
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmub.html
- 语法:
-
<compatible-screens> <screen android:screenSize=["small" | "normal" | "large" | "xlarge"] android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] /> ... </compatible-screens>
- 包含于:
<manifest>
- 说明:
- 指定应用程序所兼容的屏幕参数。 Manifest 文件中只能出现一次
<compatible-screens>
元素的实例,但该元素中可以包含多个<screen>
元素。 每个<screen>
元素定义了一种可兼容的屏幕尺寸-密度组合。Android 系统并不会读取 Manifest 文件中的
<compatible-screens>
元素(安装和运行时都不会)。 该元素只是作为一种可被外部服务(比如 Google Play )使用的信息,以便更好地了解应用程序对各种屏幕的兼容性,并对用户启用过滤机制。 未在该元素中声明的屏幕参数即表示此应用程序对它不兼容。 这样,外部服务(比如 Google Play )就不会为这些屏幕的设备提供此应用程序。提醒:通常, 请勿使用本 Manifest 元素 。 如果用户设备的屏幕参数未能列出,则这些用户就无法安装该应用程序,因此使用本元素可能会大幅减少潜在的用户群体。 仅当程序确实无法在所有屏幕参数下运行时,才作为最后手段使用本元素。 作为替代手段,请按照 支持多种屏幕的指导, 通过对应于各种屏幕尺寸和密度的替代 Layout 和位图,为多种屏幕提供可缩放的支持方案。
如果只是要为应用程序设置一个最小屏幕尺寸,应该使用
<supports-screens>
元素。 比如,应用程序只支持 large 和 xlarge 屏幕的设备,就可以在<supports-screens>
中元素声明不支持 small 和 normal 屏幕尺寸。 外部服务(比如 Google Play)将据此对应用程序进行过滤。 还可以用<supports-screens>
元素来声明系统是否可以改变应用程序的大小来适应各种屏幕尺寸。关于 Google Play 如何利用本元素及其他 Manifest 元素来对应用程序进行过滤,详情请参阅 Google Play 的过滤器文档。
- 子元素:
- 示例:
-
如果应用程序不论屏幕密度如何都只能兼容 small 和 normal 大小的屏幕,那就必须指定八种不同的
<screen>
元素, 因为每种屏幕尺寸下都有四种不同的密度配置。 每一种组合都必须声明,任何未经声明的尺寸和密度都被视为应用程序不兼容的屏幕参数。 假如应用程序只兼容 small 和 normal 屏幕的话,Manifest 的配置应该类似于这样:<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" /> <!-- 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" /> </compatible-screens> <application ... > ... <application> </manifest>
- 引入自:
- API 级别 9
- 参阅:
- 支持多种屏幕
- Google Play 的过滤器