如何指定一个和你的Android应用程序相适配的屏幕配置
原文: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应用程序相适配的屏幕配置的更多相关文章
- 建立一个类似于天眼的Android应用程序:第4部分 - 持久收集联系人,通话记录和短信(SMS)
建立一个类似于天眼的Android应用程序:第4部分 - 持久收集联系人,通话记录和短信(SMS) 电话黑客android恶意软件编程黑客入侵linux 随着我们继续我们的系列,AMUNET应用程序变 ...
- Android实例-程序界面内截取屏幕(XE8+小米2)
结果: 1.只能截取程序界面内的图片. 2.图片有点不清楚,自己设置清楚度. 实例代码: unit Unit1; interface uses System.SysUtils, System.Type ...
- android:process为耗资源操作指定一个新进程
当有一些耗费内存比较多的操作时,可以通过android:process指定一个新的进程.保证程序运行. 例如: 一个后台长期运行的service: <service android:name=& ...
- 第一个Xamarin的 Android 应用程序!
你好,安卓 Xamarin的工作室 Xamarin的应用程序图标和启动屏幕 脱机使用PDF格式: 介绍与Xamarin的Android开发 示例代码: 开始使用应用程序的探险家 显示说明: Visua ...
- Android应用程序消息处理机制(Looper、Handler)分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6817933 Android应用程序是通过消息来 ...
- Android应用程序请求SurfaceFlinger服务创建Surface的过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应 ...
- 解开Android应用程序组件Activity的"singleTask"之谜
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6714543 在Android应用程序中,可以配 ...
- Android应用程序与SurfaceFlinger服务的连接过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7857163 前文在描述Android应用程序和 ...
- 创建第一个Android应用程序 HelloWorld
按照博客的进程,今天应该进行程序编写啦,下面让我们开写一个简单的HelloWorld程序. 提示:这里对于如何使用Eclipse创建一个Android程序就不多讲啦,不会的同学可以去查阅相关文档. 程 ...
随机推荐
- 腾讯云ubuntu搭建jdk
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6377878.html 在购买了腾讯云ubuntu主机后,需要手动搭建java环境.安装tomcat等.ubun ...
- VIM自定义快捷键 abort
"在选择模式下系统级复制 vmap ,c "+y<ESC>vmap ,C "+Y<ESC>"在选择模式下系统级剪切vmap ,x x:l ...
- .NET Core 全新认识
来源:yubinfeng cnblogs.com/yubinfeng/p/6626694.html 一.概述 .NET 经历14年,在Windows平台上的表现已经相当优秀,但是“跨平台.开 ...
- 【C#】Excel导出合并行和列并动态加载行与列
简单的Excel导出比较好做,只要设置表头,循环在表格中赋值添加数据即可,但是如果表头是不固定的,并且个数是不确定的,这就需要根据查询出数据的特点来添加导出了. 导出效果图: 如上图所示,商品的个数是 ...
- MYSQL数据库注释
//修改注释 alter table user comment = '我要修改注释'; //新建表设定表注释及解释说明. create table AuthUser( ID ) primary key ...
- django之环境变量配置
1.配置python变量环境,C:\Python27\;C:\Python27\Scripts\ 2.配置django变量环境,C:\Python34\Lib\site-packages\Django ...
- linux下编译Zero C ICE
0.简介 ZeroC ICE 是指ZeroC公司(www.zeroc.com)的ICE(Internet Communications Engine)中间件平台. 目前ICE平台中包括Ice,Ice- ...
- Oracle Tuxedo工作站客户端与服务端的样例程序
服务端代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cty ...
- ios中 radioButton和DataPIcker,九宫格封装好使用
下载地址 http://pan.baidu.com/share/link?shareid=2894506499&uk=923776187 引用这几个文件 radiobutton.封装好单选按钮 ...
- vscode用法
工欲善其事,必先利其器.vscode是一个值得花费时间去掌握精通的编辑器. 好文档不必远求 打开vscode,把菜单看上三遍,仔细思考每个菜单项的作用,思考为啥要这样归类每个菜单项. 配置是系统的核心 ...