原文:http://android.eoe.cn/topic/android_sdk

描述:

指定每个与该应用程序兼容的屏幕配置。一个配置清单中只能有一个标签的实例,但是它能够包含多个元素。每个元素指定一个特殊的与该应用程序相兼容的屏幕大小-密度组合。
Android系统不会读取AndroidManifest.xml里面的标签(不论是安装还是运行的时候).这个标签只是一些外部服务(比如Google Play)用来更加了解应用程序的屏幕兼容性并为用户过滤时读取的一些信息而已。任何不在此定义为一个标签的屏幕配置都认为和该应用程序不兼容。因此,外部服务(比如Google Play)不应该将该应用程序提供给这种屏幕的设备。

注意:一般而言,你不应该在AndroidManifest.xml中定义这个标签。使用这个标签可能大大减少改应用程序潜在的用户群,因为如果他们有你没有列出设备的屏幕配置,该应用程序不允许用户安装应用程序。只有当你的应用程序确定不再所有的屏幕上工作的时候,才应该使用它。应用程序清单中不应该有该标签,你应该遵循以下设计准则来支持多个屏幕:通过添加不同的资源来适配不同的屏幕,这样就能完全的支持多种屏幕的设备了。

如果你想设置您的应用程序的最小屏幕尺寸,那么你应该使用的元素。例如,如果您想您的应用程序仅适用于大型XLARGE屏幕设备中,元素允许你声明你的应用程序不支持小型和正常的屏幕尺寸。外部服务(如Google Play)将相应地过滤您的应用程序。您还可以使用的的元素告诉系统是否应调整不同的屏幕尺寸来适应您的应用程序。

还可以参考Google Play的Filters文档来获取更多关于Google Play 过滤程序是如何使用这个以及其他的AndroidManifest.xml中的标签的方法。

子标签:

指定一个和此应用程序相适配的屏幕。
在标签下面起码要有一个该标签。这个标签必须包含android:screenSize和android:screenDensity属性(如果你不包含这两个属性,这个标签就是非法的).

属性:
android:screenSize
必须的.指定屏幕大小
可接受的值:
small
normal
large
xlarge

查看Supporting Multiple Screens章节来获取更多关于不同屏幕大小的信息。

android:screenDensity
必须的.指定该屏幕的像素密度
可接受的值:
ldpi
mdpi
hdpi
xhdpi
查看Supporting Multiple Screens章节来获取更多关于不同屏幕像素密度大小的信息。

例子:
如果你的应用程序只匹配小的和正常的屏幕,跟屏幕像素密度无关,那么你必须指定8中不同的标签,因为每个屏幕大小有四种像素密度。你必须申明下列的每一种:任何屏幕大小和屏幕像素密度的组合,如果你不申明某种组合,那么就表示该程序不支持这种组合。一下就是你的只支持小屏幕和正常屏幕的应用程序的AndroidManifest.xml关于屏幕适配方面的代码:

...

<!-- all small size screens -->

<!-- all normal size screens -->

...

引入的API:
API Level 9
同时参考:
Supporting Multiple Screens
Filters on Google Play

如何指定一个和你的Android应用程序相适配的屏幕配置的更多相关文章

  1. 建立一个类似于天眼的Android应用程序:第4部分 - 持久收集联系人,通话记录和短信(SMS)

    建立一个类似于天眼的Android应用程序:第4部分 - 持久收集联系人,通话记录和短信(SMS) 电话黑客android恶意软件编程黑客入侵linux 随着我们继续我们的系列,AMUNET应用程序变 ...

  2. Android实例-程序界面内截取屏幕(XE8+小米2)

    结果: 1.只能截取程序界面内的图片. 2.图片有点不清楚,自己设置清楚度. 实例代码: unit Unit1; interface uses System.SysUtils, System.Type ...

  3. android:process为耗资源操作指定一个新进程

    当有一些耗费内存比较多的操作时,可以通过android:process指定一个新的进程.保证程序运行. 例如: 一个后台长期运行的service: <service android:name=& ...

  4. 第一个Xamarin的 Android 应用程序!

    你好,安卓 Xamarin的工作室 Xamarin的应用程序图标和启动屏幕 脱机使用PDF格式: 介绍与Xamarin的Android开发 示例代码: 开始使用应用程序的探险家 显示说明: Visua ...

  5. Android应用程序消息处理机制(Looper、Handler)分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6817933 Android应用程序是通过消息来 ...

  6. Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应 ...

  7. 解开Android应用程序组件Activity的"singleTask"之谜

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6714543 在Android应用程序中,可以配 ...

  8. Android应用程序与SurfaceFlinger服务的连接过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7857163 前文在描述Android应用程序和 ...

  9. 创建第一个Android应用程序 HelloWorld

    按照博客的进程,今天应该进行程序编写啦,下面让我们开写一个简单的HelloWorld程序. 提示:这里对于如何使用Eclipse创建一个Android程序就不多讲啦,不会的同学可以去查阅相关文档. 程 ...

随机推荐

  1. Kettle实现数据库迁移

    Kettle实现数据库迁移 需求: 做数据仓库时,需要将业务系统CRM抽取到数据仓库的缓冲层,业务系统使用的是SqlServer数据库,数据仓库的缓冲层使用的是mysql数据库,为实现数据库的迁移,即 ...

  2. java sm3加密算法

      java sm3加密算法实现 CreationTime--2018年7月13日09点28分 Author:Marydon 1.准备工作 所需jar包: bcprov-jdk15on-1.59.ja ...

  3. vi编辑器的常用命令

    游标控制 h 游标向左移 j 游标向下移 k 游标向上移 l (or spacebar) 游标向右移 w 向前移动一个单词 b 向后移动一个单词 e 向前移动一个单词,且游标指向单词的末尾 ( 移到当 ...

  4. Axure 实现批量的勾选和反选

    百度网盘:http://pan.baidu.com/s/1gf4RR2b 1.如何实现批量的勾选和反选的操作? 2.步骤 1)创建3个复选框.2个按钮(全选/反选) 2)设置全选按钮点击事件——选中“ ...

  5. ios中键盘处理(二)

    设置UIscrollview的背景代码 - (UIImage *) ImageWithColor: (UIColor *) color frame:(CGRect)aFrame { UIGraphic ...

  6. Linux系统vi编辑器提示E325: ATTENTION的解决方法

    非正常关闭文件会报这样的警告信息, 原因是系统产生了一个.swp的文件. 删除就行了.(前提是确认.swp文件没用了.) 例如: rm -f /etc/.shadowsocks.json.swp 详情 ...

  7. Android开发环境内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

  8. java struts2入门学习--OGNL语言常用符号和常用标签学习

    一.OGNL常用符号(接上一篇文章): 1.#号 1)<s:property value="#request.username"/> 作用于struts2的域对象,而不 ...

  9. java mongodb 基础系列---查询,排序,limit,$in,$or,输出为list,创建索引,$ne 非操作

    官方api教程:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started ...

  10. iOS block分析

    block是代码块,其本质和变量类似.不同的是代码块存储的数据是一个函数体.使用Block,就可以像其他标准函数一样,传入参数,并得到返回值. 可以把Block当做Objective-C的匿名函数,B ...