android 选择layout的规则
16lz
2021-01-26
Android对文件夹的命名有规则,例如屏幕方向在是否触摸屏之前,触摸屏在屏幕尺寸之前,例如res/layout-large-port-notouch-qwerty ,res/layout-large-port-stylus-nokeys,res/layout-normal-land-finger-qwerty 等等,这里的port是portrait,和land(landscape)对应。但是如果我们要为每种可能的排列主要进行处理,几乎不太可能,我们看看Android选取文件的一些原则:
一、Android会将不适配的文件作为候选,例如有一个res/layout-large-port,而当前设备是普通尺寸,即不适配与-large,因此这个文件夹将作为候选,如果我们找不到相应的文件,才会在这里选择。记得我们在处理图片资源的时候,我们见过某个PNG的图片放置在res/drawable-hdpi,而没有放置在res/drawable-mdpi,普通尺寸是会先查询-mdpi,如果没有,再查询其他,因此如果你只放置一个图片资源,放置在哪个文件夹都是可以调用的。
二、选择具有最多匹配项,例如有res/layout-large-port-finger-nokeys,和res/layout-port,都匹配,则前者的匹配数目多,则前者优先。
三、如果匹配数目相同,例如res/layout-large-finger-nokeys和res/layout-large-port-nokeys,他们的匹配数目相同,这是按前后的优先级别,因为port是放置在finger的前面,因此-port具有更高的优先级别。
根据这些原则,我们并不需要真的将所有的可能进行组合,只需将相关的给出就可以了。
转载之:http://blog.csdn.net/flowingflying/article/details/6641335
一、Android会将不适配的文件作为候选,例如有一个res/layout-large-port,而当前设备是普通尺寸,即不适配与-large,因此这个文件夹将作为候选,如果我们找不到相应的文件,才会在这里选择。记得我们在处理图片资源的时候,我们见过某个PNG的图片放置在res/drawable-hdpi,而没有放置在res/drawable-mdpi,普通尺寸是会先查询-mdpi,如果没有,再查询其他,因此如果你只放置一个图片资源,放置在哪个文件夹都是可以调用的。
二、选择具有最多匹配项,例如有res/layout-large-port-finger-nokeys,和res/layout-port,都匹配,则前者的匹配数目多,则前者优先。
三、如果匹配数目相同,例如res/layout-large-finger-nokeys和res/layout-large-port-nokeys,他们的匹配数目相同,这是按前后的优先级别,因为port是放置在finger的前面,因此-port具有更高的优先级别。
根据这些原则,我们并不需要真的将所有的可能进行组合,只需将相关的给出就可以了。
转载之:http://blog.csdn.net/flowingflying/article/details/6641335
更多相关文章
- android intent-filter
- Android(安卓)最常用的快速开发工具类
- Android系统Intent中的Uri使用
- Intent filter 关于Action、Category属性详解---附带实例源码
- Android日记之2011\12\28
- 隐式意图匹配规则
- Android(安卓)之 IntentFilter 详解
- Android——组件之ContentProvider
- Android(安卓)正则表达式学习