如何指定一个和你的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程序就不多讲啦,不会的同学可以去查阅相关文档. 程 ...
随机推荐
- JavaWeb开发之网站实现文件上传功能
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6073505.html 一个功能完善的JavaWeb应用,必不可少的一个功能就是文件的上传.无论是用户的 ...
- ACE .i .inl文件(转)
在ACE的源代码目录里,有源文件.cpp.头文件.h,我们还发现有以.i和.inl为扩展名的文件.其实,以.i和.inl为扩展名的文件是ACE源码中inline函数的存放形式. 在说明ACE中为什么采 ...
- Java之创建对象>7.Avoid finalizers
1.Finalizers are unpredictable, often dangerous, and generally unnecessary. 2.never do anything time ...
- Android开发之底部导航栏标准
以下是封装的库源码: package com.example.oldtab; import java.util.ArrayList; import android.content.res.Resour ...
- nginx深入使用
1. nginx使用命令 nginx -s stop --快速关闭Nginx,可能不保存相关信息,并迅速终止web服务. nginx -s quit --平稳关闭Nginx,保存相关信息,有安排的结束 ...
- ios 中UIViewController的分类
#import <UIKit/UIKit.h> #define TOPVIEWTAG 0x10000 // 导航栏的图片 @interface UIViewController (Chnb ...
- Linux下mysql的远程连接(转)
转载:http://www.cnblogs.com/fnlingnzb-learner/p/5830661.html 如果Mysql是按上篇的方法进行安装和设置的话,那进行远程连接就会稍微简单一点.我 ...
- MapReduce 模式、算法和用例
翻译自:http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/ 在这篇文章里总结了几种网上或者论文中常见的MapReduc ...
- android dialog加载中动画效果
//显示动画 dialog = new Dialog(context, R.style.loading); dialog.setContentView(R.layout.loadinglayout); ...
- windows10安装tensorflow的gpu版本(pip3安装方式)
前言: TensorFlow 有cpu和 gpu两个版本:gpu版本需要英伟达CUDA 和 cuDNN 的支持,cpu版本不需要:本文主要安装gpu版本. 1.环境 gpu:确认你的显卡支持 CUDA ...