Android 适配时用到的限定词
来源:互联网 发布:女生学什么舞蹈知乎 编辑:程序博客网 时间:2024/05/16 17:15
Android 适配时用到的限定词
国际化
语言国际化:
语言是用两个字母的ISO 639-1语言代码定义的,紧跟其后的是可选的两个ISO-3166-1-appha-2地区代码字母(前面是小写的“r”)。
这个编码不区分大小写,r前缀被用于区分地区部分,不能够单独指定地区。
如果用户改变了系统中的语言设置,那么在应用程序的运行期间也能够改变为对应的语言。
宽高限定
最小宽度 sw< N >dp
屏幕的基本尺寸,是指最短的可用屏幕区域。具体的说,设备的最小宽度是屏幕可用的宽度和高度中最短的那个(也可以把它看做是屏幕的最小可能的宽度)。这样就可以使用这个限定符来确保应用程序至少有dp的宽度可用于UI界面,而不管屏幕的当前方向。
可以使用的通用屏幕尺寸的一些值
- 320,针对以下设备:
- 240x320ldpi(QVGA手持设备)
- 320x480mdpi(手持设备)
- 480x800hdpi(高分辨率手持设备
- 480: 针对480x800mdpi的屏幕(平板或手持设备)
- 600,针对600x1024mdip的屏幕(7英寸平板)
- 720,针对720x1280mdip的屏幕(10英寸平板)
当应用程序提供了多个带有不同值的最小宽度限定符资源目录时,系统会使用最接近(不超出)设备最小宽度的那个资源。
这个限定符被添加在API级别13中。
还要看android:requiresSmallestWidthDp属性,它声明了与你的应用程序兼容的最小的最小宽度,并且smallestScreenWidthDp配置字段会持有这个设备最小宽度的值。
EG:
如果布局在任何时候都需要至少600dp的最小屏幕尺寸,那么就能够使用这个限定符,在res/layout-sw600dp/目录中创建布局资源。系统只会在可用屏幕的尺寸至少是600dp的时候才会使用这些资源,而不管600dp是否是被用户认知的高度或宽度。最小宽度是设备的固定屏幕尺寸特征,当屏幕的方向发生改变时,设备的最小宽度不改变。
Notice
设备的最小宽度需要考虑屏幕的装饰和系统UI的占用。例如,如果设备有一些固定的UI元素要沿着最小宽度的轴向,占用一定的屏幕空间,那么系统声明的最小宽度要比实际的屏幕尺寸要小,因为被系统占用的像素部分对用户应用程序的UI无效。因此,这个值应该是应用程序布局所需要的最小的实际尺寸(通常,这个值是布局支持的最小宽度,而不管屏幕的当前方向)。
可用宽度 w< N >dp
- 指定最小的可用屏幕宽度,在资源中应该以dp为单位来定义的值。当方向在横向和纵向之间改变时,这个配置值会跟当前的实际的宽度相匹配。
当应用程序给这个配置提供了多个不同值的资源目录时,系统会使用最接近(不超过)设备当前屏幕宽度的那个配置。这个值需要考虑屏幕装饰占据的空间,因此,如果设备在显示的左边或右边有一些固定的UI元素,那么使用的宽度值就要比实际的屏幕尺寸小,因为这些固定UI元素的占用,使得应用程序的可用空间减少。 - 这个特性被添加在API级别13中
- 还要看screenWidthDp配置字段,它持有当前的屏幕宽度。
可用高度 h< N >dp
- 指定最小的可用屏幕高度,在资源中应该以dp为单位来定义的值,当方向在横向和纵向直接改变时,这个配置值应该跟当前的实际高度匹配。
当应用程序给这个配置提供了不同值的多个资源目录时,系统会使用最接近(不超过)设备当前屏幕高度的那个配置。这个要考虑屏幕装饰的占用情况,因此,如果设备在显示的上方或底部有一些固定的UI元素,那么要使用的高度值要比实际的屏幕尺寸小,因为这些固定UI元素的占用,使得应用程序的可用空间减少。不固定的屏幕装饰(如电话的状态栏能够在全屏时被隐藏)是不考虑的,像标题栏或操作栏这样的窗口装饰也不考虑,因此应用必须准备处理比它们指定的空间要小的情况。 - 这个限定符被添加在API级别13中。
- 还要看screenHeightDp配置字段,它持有当前屏幕的高度
屏幕尺寸限定
Notice
使用尺寸限定符不意味着资源仅用于这个尺寸的屏幕。如果没有用限定符提供与当前设备配置相匹配的可选资源,那么系统会使用与配置最接近的资源。
警告
如果所有使用尺寸限定符的资源都比当前屏幕大,那么系统将不会使用它们,并且应用程序会在运行时崩溃(例如,如果所有的布局都被标记了xlarge限定符,而设备却是一个普通尺寸的屏幕)。
这个限定符被添加在API级别4以后的版本中。
屏幕方向
如果用户旋转屏幕,这个限定能够在应用运行期间改变
屏幕外观
这个限定符被添加在API级别4以后的版本中
这个限定符完全是基于屏幕的外观比率,不相对屏幕的方向。
还要看screenLayout配置字段,它指示了屏幕是否是长屏。
屏幕像素密度(dpi)
mdpi、hdpi、xhdpi、xxhdpi用来修饰drawable文件夹以及values文件夹,用来区分不同像素密度下的图片和dimen值。
泊位模式
* 这个限定符被添加在API级别8以后的版本中
* 如果用户改变了设备的停靠地点,那么能够在应用程序的运行期间改变这个限定。可以使用UiModeManager对象来启用或禁止这种模式。
夜间模式
* 被添加在API级别8以后的版本中
* 如果夜间模式被保留在自动模式中(默认),那么在应用程序运行期间,会基于白天的时间来进行模式的改变。可以使用UiModeManager对象来启用或禁止这种模式。
触屏类型
* touchscreen配置字段,指示到了设备上的触屏类型。
键盘可用性
* 如果提供了keysexposed资源,但没有keyssoft资源,那么只要系统有可用的软键盘,系统就会使用keysexposed资源而不管键盘是否可见。
* 如果用户打开了硬键盘,就可以在应用程序运行期间改变这个限定。
* hardKeyboardHidden和keyboardHidden配置字段分别指明硬键盘的可见性以及可见的键盘类型(包括软键盘)。
主要文本输入法
* keyboard配置字段指明可用的主要文本输入方法。
导航键的有效性
* 如果用户能够看到导航键,那么在应用程序运行时就能够改变这个限定。
* navigationHidden配置字段,指示导航键是否隐藏。
主要的非触屏导航方法
* navigation配置字段指明可用的导航方法类型。
平台版本(API级别)
EG:V3 V4 V7 等
- 设备支持的API级别。如v1代表API级别1(带有Android1.0或更高版的设备),v4代表API级别4(带有Android1.6或更高版本的设备)
- 警告:Android1.5和1.6只有在限定符跟平台版本完全匹配时,才能匹配资源
- Android 适配时用到的限定词
- Android 支持指定分辨率的限定词
- Android UI适配 限定词
- const限定词的用法
- samlinkage限定词的作用
- 限定词
- 常用static限定词的情况
- ANSI C的类型限定词
- 【编程语言】const限定词的用法
- android 用到的技巧集
- android仓库 用到的网址。
- android 画图用到的DrawFilter
- Android开发用到的工具
- android中常用到的依赖
- C语言const 限定词真正的含义“只读的”
- java中类的限定词的作用范围比较
- ANSI C的三个类型限定词:const,volatile,restrict
- 【C语言天天练(一)】变量的类型限定词
- 一个关于java初始化的问题
- C++ STL中Map的按Key排序和按Value排序
- 兼容IE8的轮播图插件
- 如何封装jQuery插件
- Houdini-Essential-Training_V16 linda
- Android 适配时用到的限定词
- SSIS入门介绍
- android apk 防止反编译技术第二篇-运行时修改Dalvik指令
- 抽取增量文件及合并jar包
- String.Empty,NULL和""的区别
- 如何在jsp页面计算执行时间问题
- Tree-----116. Populating Next Right Pointers in Each Node java
- UVa 10382
- 2017.7.20. 前缀和