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> 元素。 比如,应用程序只支持 largexlarge 屏幕的设备,就可以在<supports-screens> 中元素声明不支持 smallnormal 屏幕尺寸。 外部服务(比如 Google Play)将据此对应用程序进行过滤。 还可以用 <supports-screens>元素来声明系统是否可以改变应用程序的大小来适应各种屏幕尺寸。

关于 Google Play 如何利用本元素及其他 Manifest 元素来对应用程序进行过滤,详情请参阅 Google Play 的过滤器文档。

子元素:
<screen>
定义应用程序兼容的一种屏幕参数。

<compatible-screens> 中必须至少包含本元素的一个实例。 本元素必须同时包含 android:screenSizeandroid:screenDensity 属性(否则本元素将被忽略)。

属性:

android:screenSize
必填项。定义本条屏幕参数中的屏幕尺寸。

可接受的值:

  • small
  • normal
  • large
  • xlarge

关于各种屏幕尺寸的更多信息,请参阅支持多种屏幕

android:screenDensity
必填项。定义本条屏幕参数中的屏幕密度。

可接受的值:

  • ldpi
  • mdpi
  • hdpi
  • xhdpi

注意: 本属性目前不接受 xxhdpi 值,但可以用 480 来替代,这是最接近 xhdpi 的密度值。

关于屏幕密度的详细信息,请参阅支持多种屏幕

示例:

如果应用程序不论屏幕密度如何都只能兼容 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 的过滤器
时间: 2024-10-14 23:05:44

Android开发-API指南-<compatible-screens>的相关文章

Android开发-API指南-&lt;application&gt;

<application> 英文原文:http://developer.android.com/guide/topics/manifest/application-element.html 采集(更新)日期:2014-5-30 更新下老的文档,祝贺下自己 42 岁的生日. 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmga.html 语法: <application android:allowTaskReparenting=[&q

Android开发-API指南-&lt;provider&gt;

<provider> 英文原文:http://developer.android.com/guide/topics/manifest/provider-element.html 采集(更新)日期:2014-7-1 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmv5.html 语法: <provider android:authorities="list" android:enabled=["true&

Android开发-API指南-&lt;uses-feature&gt;

<uses-feature> 英文原文:http://developer.android.com/guide/topics/manifest/uses-feature-element.html 采集(更新)日期:2014-7-7 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmwf.html 在本文中 Google Play 和基于设备特性的过滤机制 基于显式声明的特性需求进行过滤 基于隐含的特性需求进行过滤 对蓝牙特性的特殊处理 对应用

Android开发-API指南-应用程序开发基础

Application Fundamentals 英文原文:http://developer.android.com/guide/components/fundamentals.html 采集日期:2014-04-16 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300101h41p.html 在本文中 应用程序组件 激活组件 Manifest 文件 声明组件 声明应用程序的需求 应用程序资源 Android 应用程序是用 Java 语言编写的.And

Android开发-API指南-任务和回退栈

Task 和 Back Stack 英文原文: http://developer.android.com/guide/components/tasks-and-back-stack.html 采集(更新)日期:2014-12-16 在本文中 保存 Activity 状态 管理多个 Task 指定启动模式 处理 affinity 清理回退栈k 启动任务 相关文章 Multitasking the Android Way 参阅 Android 设计 : 导航 <activity> manifest

【最后一篇API译文】Android开发-API指南- Contacts Provider

Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是大家所译,但至少句子结构较通顺,窃以为比 MSDN 中文版好些.虽有些生硬(比如将 Provider 译为“提供者”,有趣得紧),但好在前无古人,也许 Google 自此便统一了自己的中文术语也未可知.能让更多的国人精确领悟 Android 的精髓,肯定是好事,希望 Google 继续坚持. 这事应

Android开发-API指南-服务

Service 英文原文:http://developer.android.com/guide/components/services.html 采集(更新)日期:2014-12-23 原博客:http://blog.sina.com.cn/s/blog_48d49130010102pn.html 在本文中 概述 在manifest中声明服务 创建一个started服务 扩展IntentService类 扩展Service类 启动一个服务 终止一个服务 创建一个bound服务 向用户发送通知 在

Android开发-API指南-&lt;service&gt;

<service> 英文原文:http://developer.android.com/guide/topics/manifest/service-element.html 采集(更新)日期:2014-7-2 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmva.html 语法: <service android:enabled=["true" | "false"] android:expor

Android开发-API指南-&lt;receiver&gt;

<receiver> 英文原文:http://developer.android.com/guide/topics/manifest/receiver-element.html 采集(更新)日期:2014-7-2 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmv7.html 语法: <receiver android:enabled=["true" | "false"] android:ex