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具有更高的优先级别。
根据这些原则,我们并不需要真的将所有的可能进行组合,只需将相关的给出就可以了。
转载之:[url]http://blog.youkuaiyun.com/flowingflying/article/details/6641335[/url]
一、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具有更高的优先级别。
根据这些原则,我们并不需要真的将所有的可能进行组合,只需将相关的给出就可以了。
转载之:[url]http://blog.youkuaiyun.com/flowingflying/article/details/6641335[/url]