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

描述:

让您指定您的应用支持的屏幕的大小并且可以通过屏幕兼容模式来支持比您应用所支持更大的屏幕。所以这对于您需要在您的应用里面使用这个元素来制定您的应用所支持的屏幕大小是很重要的。

一个应用如果可以合适调整以适应全屏幕的前提下是可以“支持”一个具体的屏幕大小的。系统所应用的正常调整调整对于大多数的应用都适用,所以您也不需要做多余的工作来使您的应用支持比手机设备更大的屏幕。但是,通过提供可选择的布局资源来使您的应用能够对不同屏幕大小的界面进行优化还是很重要。举例来说,您也许需要在平板和手机设备上对activity的布局进行修改。

然而,如果您的应用在调整适应不同屏幕大小的时候出现问题,您可以通过使用元素的属性来决定您的应用是被发布到小屏幕上面还是可以通过系统的屏幕兼容模式来使应用的界面能够通过缩放(“放大”)来适应更大的屏幕大小。当您没有为大一点的屏幕大小进行设计,并且一般的调整没有达到期望的结果时,屏幕兼容模式将先模拟一个一般中等的屏幕,使您的设计界面先缩小,然后通过放大来填满整个屏幕。但是这样会导致像素变化,您的界面将会变得模糊,所以您最好为您的界面能适应更大的屏幕做好优化工作。

注意:Android 3.2为介绍了一些新的属性:android:compatibleWidthLimitDp和android:largestWidthLimitDp。如果您开发Android 3.2或者更高版本的应用,你最好用这些属性代替基于一般屏幕大小的属性来声明您所支持的屏幕大小。

想要了解更多的关于您的应用如何避免使用屏幕兼容模式就能正确的支持不同屏幕大小的信息,请参见支持多种屏幕

属性:

android:resizeable

:决定您的应用是否需要为不同的屏幕大小而进行调整。默认的情况下是true。如果设置为false,系统将会在大屏幕中为您的应用使用屏幕兼容模式进行调整。
:* 这个方法已经过时了* 。这是用来介绍帮助您的应用在首次介绍支持多屏幕从Android 1.5到Android 1.6的过度。你不需要使用这个属性了。

android:smallScreens

:决定您的应用是否支持小屏幕形式因素。一个小屏幕就是指比“正常”(传统的HVGA)长宽比小一点的屏幕。一个不支持小屏幕的应用同样对比从外部服务(例如Google商店)来的小屏幕设备也不适用,因为有很少的平台可以让这样一个应用在小屏幕上工作,所以默认为“true”

android:normalScreens

:决定您的应用是否支持“正常”屏幕形式因素。一般来说,这是一个为HVGA密度的屏幕,但是WQVGA低密度和WVGA高密度也可以被当成为普通的。这个属性被默认为是“true”。

android:largeScreens

:决定您的应用是否是支持较大一点的屏幕形式因素。一个大屏幕就是指比“正常”(传统的HVGA)长宽比大一点的屏幕,所以需要一些在应用的一部分上面好好的使用它,尽管也可以依靠系统的调整填满整个屏幕。

:该默认值在不同的版本中会不一样,所以您最好在需要的时候进行明确的声明。需要注意的是设置该值为“false”就表示自动使用系统屏幕兼容模式

android:xlargeScreens

:决定您的应用是否需要超大屏幕形式因素。一个超大屏幕是指比“大”屏幕还要在大一点的屏幕,就像平板(或者更大的),所以需要一些在应用的一部分上面好好的使用它,尽管也可以依靠系统的调整填满整个屏幕。

:该默认值在不同的版本中会不一样,所以您最好在需要的时候进行明确的声明。需要注意的是设置该值为“false”就表示自动使用系统屏幕兼容模式

:这个属性出现在API level 9。

android:anyDensity

:决定您的应用是否包含能够适用于任何屏幕密度的资源。

:对于支持Android 1.6(API level 4)或者更高的应用来说,默认值都为“true”并且* 您不可以设置它为“false”* 除非您可以绝对肯定在您的应用中这是完全有必要的。唯一有必要阻止它的话就是您需要您的应用直接操纵图片(更多的信息都在支持多种屏幕的文档中)。

android:requiresSmallestWidthDp

:指定最小的smallestWidth的值。这个smallestWidth是指屏幕空间(以dip为单位)能偶适用于您的应用界面最短的维度-----也就是最短的可用屏幕的两个维度。所以,为了一个可以和您的应用相兼容的设备,该设备的smallestWidth必须等于或者好于这个值。(通常来说,您提供的这个您布局所支持的“最小宽度”是不管屏幕当前的方向的。)

:举例来说,一个典型的手机屏幕smallestWidth的值为320dp,一个7英寸的平板smallestWidth的值为600dp,而一个10英寸的平板smallestWidth的值为720dp。这些值都是一般的smallestWidth的值,因为它们是屏幕可用空间的最短维度。

:关于您具体需要选择什么样的大小,那就要把屏幕的装饰以及系统的UI界面都考虑进去进行比较了。例如:如果设备上需要显示一些持续不断地UI元素,系统声明设备smallestWidth值就要比实际的屏幕大小小一点了,因为那些UI元素的pix对您的UI界面不适用。因此,无论当前屏幕的方向,您使用的值必须是您的布局中所要求的最小的宽度。

:如果您的应用可以为更小的屏幕大小(下降到小的规模或者最小宽度是320dp)进行正确调整,您就不需要使用这个属性了。否则,您应该为了您的应用,根据最小屏幕宽度介绍(swdp) 为您的应用设定合适的最小值。

* 注意:_'Android系统没有太多内容在这个属性,所以它不会再您的应用运行时有什么影响的。相反,它可以用来将您的应用在那些服务器上例如Google商店过滤出来。但是,'_Google商店目前还不支持这个属性进行筛选* (在Android 3.2),所以您的应用不支持小屏幕的话最好继续使用其它的大小属性。

:这个属性出现在API level 13。

android:compatibleWidthLimitDp

:这个属性允许您在设计应用时指定最大的“最小屏幕宽度”使屏幕兼容模式作为用户选择的一种功能。如果一个设备可用屏幕最小的一边比您设定的值要小的话,用户仍然可以安装您的应用,但是却被要求在屏幕兼容性能下运行。默认的情况之下,屏幕兼容模式是关着的,并且您的布局像平常一样调整来适应屏幕,但是在系统栏中有一个按钮可以让用户决定屏幕兼容模式是否打开。

:如果您的应用兼容所有的屏幕大小,并且您的布局能够正确调整,那么你就不需要使用这个属性。

* 注意:* 目前,屏幕兼容模式只有在宽度为320dp的手机下能够模拟成功,所以您的android:compatibleWidthLimitDp值大于320的话,屏幕兼容模式就不能适用。

:这个属性出现在API level 13。

android:largestWidthLimitDp

:这个属性允许您在设计应用时指定最大的“最小屏幕宽度”并且强制使用屏幕兼容模式。如果一个设备可用屏幕最小的一边比您设定的值要小的话,该应用在以屏幕兼容模式下运行时用户没有办法来停止它。

:如果您的应用兼容所有的屏幕大小,并且您的布局能够正确调整,那么你就不需要使用这个属性。否则,您必须首先考虑使用android:compatibleWidthLimitDp这个属性。只有当您的应用程序功能在为更大屏幕调整时被破坏并且屏幕兼容模式是用户操作您的应用唯一的方式时,您可以使用android:largestWidthLimitDp这个属性。

* 注意:* 目前,屏幕兼容模式只有在宽度为320dp的手机下能够模拟成功,所以您的android:largestWidthLimitDp值大于320的话,屏幕兼容模式就不能适用。

:这个属性出现在API level 13。

介绍:API Level 4

参考:
支持多种屏幕
显示度量

如何使Android应用支持多种屏幕分辨率的更多相关文章

  1. ym——Android怎样支持多种屏幕

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 原文链接:http://developer.android.com/guide/pra ...

  2. 创办支持多种屏幕尺寸的Android应用

    创建支持多种屏幕尺寸的Android应用 Android涉及各种各样的支持不同屏幕尺寸和密度的设备.对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的 ...

  3. 创建支持多种屏幕尺寸的Android应用

    Android涉及各种各样的支持不同屏幕尺寸和密度的设备.对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上.与此同时,系统提供 ...

  4. Android的长度单位及屏幕分辨率

    屏幕分辨率基础 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机 ...

  5. 篇三、开发前知识补充:Android的长度单位和屏幕分辨率,这个也是转载~~

    这篇文章有点早,不过很实用.单位的实用看最后的红色标注的部分. 屏幕分辨率基础 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3 ...

  6. Android初级教程:屏幕分辨率

    在app编码中经常需要获取手机的屏幕分辨率(宽*高),原来我直接上网拷贝代码,但在使用过程中却发现诸多不便. 不便一:下面代码中的getWidth和getHeight在adt上提示deprecated ...

  7. 创建支持多种屏幕尺寸的apk

    文章转至:http://hell0android.iteye.com/blog/1899605 创建对两种以上屏幕尺寸的多apk支持(Creating Multiple APKs with 2+ Di ...

  8. android textview支持多种格式跳转

    http://www.linuxidc.com/Linux/2011-08/40530p2.htm 1.android:autoLink属性,使TextView中链接手机号码/网页/邮件/地图 and ...

  9. android 布局如何支持多种不同屏幕尺寸

    android 布局如何支持多种不同屏幕尺寸 --关于dp.layout-xxx.drawable-xxx作用的小结 转载自:http://blog.csdn.net/vincent_blog/art ...

随机推荐

  1. Python学习笔记六:文件处理

    一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...

  2. JavaWeb应用项目部署到云ubuntu

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6383068.html 在前面的博文中,我们已经在云主机ubuntu上搭建好jdk.tomcat以及mysql了 ...

  3. Linux下找不到动态链接库(转)

    1.生成静态库 生成静态库使用ar工具,其实ar是archive的意思 $ar cqs libhello.a hello.o 2.生成动态库 用gcc来完成,由于可能存在多个版本,因此通常指定版本号: ...

  4. Cocos2d-js 3.0 颜色变换(调整sprite/图片的色调)

    Flash在滤镜方面做得比较成熟,starling也有很多现成的办法. 但Cocos2D这里就显得比较单薄,百度/谷歌很少相关资料. 后续如果有时间,再慢慢整理各种滤镜效果.     这里先介绍一下颜 ...

  5. java 文件复制

      java实现文件复制 CreateTime--2017年9月7日15:04:48 Author:Marydon 1.需求 根据原文件复制一份到指定位置 2.代码实现 需要导入: import ja ...

  6. python之docstrinigs

    # -*- coding: cp936 -*- #python 27 #xiaodeng #docstrinigs #文档字符串惯例 ''' 1.多行字符串 2.首行以大写字母开始,以句号结束 3.第 ...

  7. 利用JQuery 来操作 ListBox和ListBox内移动

    [导读]利用jquery 来操作 listbox和listbox内移动function listbox_move(listfrom,listto) { var size = $(" &quo ...

  8. 基于酷Q的工作秘书机器人

    代码地址如下:http://www.demodashi.com/demo/14617.html 环境准备 名称 版本 Jdk 8 groovy 2.4.12 gradle 4.6 酷Q 5.12.3A ...

  9. java日期格式(年月日时分秒毫秒)

    package test.remote.tools.combine; import java.text.SimpleDateFormat; import java.util.Calendar; imp ...

  10. iOS应用间相互跳转

    使用第三方用户登录,跳转到需授权的App.如QQ登录,微信登录等. 需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名.密码". 应用程序推广,跳转到另一个应用程序(本机 ...