很多开发者都想在这个范围内根据不同的具体屏幕尺寸来显示不同的布局(例如 5寸和7寸的设备)。
在Android 3.2版本中引入 “Smallest-width”限定符就是为了解决这个问题的。

例如,普通的7寸平板的最小宽度是600dp,因此如果你希望你的程序在这种尺寸的屏幕上使用两个窗口(小于该尺寸的屏幕使用一个窗口),
那么您可以使用上面的两个布局文件,只要把xlarge 限定符替换为sw600dp 即可, 可以看出在3.2+版本中,对屏幕的限定更加详细了。

只要最小屏幕宽度大于等于600dp的设备都会使用layout-sw600dp/main.xml 这个两个窗口布局,而小于该尺寸的设备就用layout/main.xml 一个窗口的布局。
但是,这样在3.2之前的版本没法使用,因为他们不认识sw600dp 这个限定符,这样您还是要同时使用xlarge 限定符。这样您的res/layout-xlarge/main.xml   文件和res/layout-sw600dp/main.xml 文件的内容是一样的。

上面看到的Smallest-width限定符只适用于3.2+的设备,因此您还需要同时使用(small, normal,large and xlarge)这些限定符来让您的程序运行在3.2之前的系统中。例如:如果你想设计一个界面,在手机中显示一个窗口,而在7寸平板或者更大的设备中显示两个窗口,您需要这些布局文件:
res/layout/main.xml: 单个窗口布局
res/layout-xlarge: 两个窗口布局
res/layout-sw600dp: 两个窗口布局

面的两个布局文件是一样的,一个是用于3.2+设备的;一个用于之前的设备的。
为了避免这种布局文件的重复,并且维护起来也很麻烦,您可以使用别名文件。例如您可以定义如下的布局文件:
res/layout/main.xml , 单个窗口布局
res/layout/main_twopanes.xml , 两个窗口布局
布局文件内容:
 
res/values-xlarge/layout.xml 
Xml代码  收藏代码
<resources>  
    <item name="main" type="layout">@layout/main_twopanes</item>  
</resources>  
 
res/values-sw600dp/layout.xml
Xml代码  收藏代码
<resources>  
    <item name="main" type="layout">@layout/main_twopanes</item>  
</resources>  
 
这两个文件内容是一样的,但是他们实际上并没有定义布局。他们仅仅设置了main 为main_twopanes 的一个别名。既然该布局文件有xlarge   和  sw600dp 这两个限定符,这样不管系统的版本是3.2之前的还是之后的,满足尺寸要求的都会使用该布局。

Smallest-width 限定符相关推荐

  1. OpenCL Function Qualifiers (函数限定符)

    OpenCL Function Qualifiers (函数限定符) OpenCL 3.0 Reference Pages -> OpenCL Compiler -> Function Q ...

  2. 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例

    原文: 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例 [源码下载] 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例 作者: ...

  3. C++ 中的类型限定符 类型限定符提供了变量的额外信息。

    类型限定符提供了变量的额外信息. 限定符 含义 const const 类型的对象在程序执行期间不能被修改改变. volatile 修饰符 volatile 告诉编译器不需要优化volatile声明的 ...

  4. 指针和Const限定符

    指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const d ...

  5. C++ Primer 5th笔记(chap 13 拷贝控制)引用限定符

    1. 问题 关于右值和左值引用成员函数,通常在一个对象上调用成员函数,而不管对象是一个左值还是一个右值: string s1 = "a value",s2 = "anot ...

  6. C++primer :const限定符

    1.问题引入 <span style="font-size:18px;"><span style="font-size:18px;">f ...

  7. C++成员访问限定符 private public

      private和public称为成员访问限定符.用它们来声明个成员的被访问权限.    private 称为私有的,只能在本类中的成员函数引用,类外不能调用.    public  称为共有的,既 ...

  8. java ee cdi_Java EE6 CDI,命名组件和限定符

    java ee cdi Java EE6的最大承诺之一就是简化了依赖注入的使用. 他们做到了,使用CDI . CDI代表Java EE的上下文和依赖注入,它提供了一个基础集,用于在企业应用程序中应用依 ...

  9. Java EE6 CDI,命名组件和限定符

    Java EE6的最大承诺之一就是简化了依赖注入的使用. 他们做到了,使用CDI . CDI代表Java EE的上下文和依赖注入,它提供了一个基础集,用于在企业应用程序中应用依赖注入. 在CDI之前, ...

  10. php+条件限定符,const 限定符

    const 限定符 const 对象一旦创建后不可改变,所以const必须初始化. const int i=get_size(); //运行时初始化 const int j=43; const int ...

最新文章

  1. Windows 7的使用技巧或功能经典20条
  2. 【渝粤教育】国家开放大学2018年春季 7140-22T危急重症护理学(本) 参考试题
  3. Linux学习之路01
  4. php dio获取串口数据,flutter通过dio读取二进制数据,比如通过api接口读取图片
  5. c/c++ 时间函数总结 linux
  6. 你为什么迷茫的像个数据分析师?
  7. 保存网页文章为PDF文件
  8. 最近在上海浦东新区的租房经历
  9. 【Java面试题】进程间通信的方式有哪些?线程间通讯方式有哪些?
  10. 钓鱼指北 Gophish钓鱼平台和邮件服务器搭建
  11. 全球顶级的14位程序员!
  12. 【美港探案】百度Q2:需要重新定义
  13. 武汉大学计算机系英语挂科,挂科率最高的前100所大学 武大挂的最多的居然是...
  14. 七年时间,微软智能云在中国走过的“大江大河”
  15. TCP长连接和短连接代码及其比较
  16. k8s查看pod的命令
  17. VS2019即将完成…一切即将准备就绪
  18. 管理订单状态,该上状态机吗?轻量级状态机COLA StateMachine保姆级入门教程
  19. cnpm : 无法加载文件 D:\mydriver\node-install\nodejs\node_global\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/g
  20. 简述计算机视觉中的单眼线索,单眼线索

热门文章

  1. 【渝粤教育】电大中专办公设备使用与维护 (2)作业 题库
  2. Power BI可视化看板作品
  3. 柏创机器人_【SU】20201228——20年度回顾 | 180个售楼处、示范区
  4. 恒生电子Java工程师_【恒生电子工资】java开发工程师待遇-看准网
  5. 三种方式让你在 Linux 上玩电子游戏
  6. STM32基于库函数新建工程模板
  7. BIGEMAP教您如何通过3D-MAX制作三维地图模型
  8. 绝地求生服务器修改,《绝地求生大逃杀》将建立该国家或地区玩家的专有服务器!|修改方案...
  9. easyUI dataGrid 隐藏分页工具栏 隐藏表头
  10. 在人脸识别的“统治”阴影之下……