mydreamongo的专栏

要适配不同的屏幕,首要需要的是要能够将不同的屏幕分辨出来,,

上图所示为常用的一些维度,不过不是全部,全部的维度可以在官方的列表中查找。

图中从左到右按照箭头指示方向的优先级依次降低(查找匹配资源的时候会用到优先级),同时在对

以下分别来介绍各个维度:

1

2

适配流程:当多个目录都使用了该限定词的时候,匹配原则为不大于可用宽度的最大值。即如果屏幕最短边为

3、availablewidth(

4、screenSize

5、屏幕方向,这个是最简单的,横向纵向

6、Screendensity

适配流程:优先从当前屏幕密度匹配的目录查找,如果没有则不断向上层查找(倾向于将大图片缩小,而不是小图片放大),如果上层没有则向下层查找,如果都没有,才取默认的目录,定位到特定目录后,会根据定位到的目录与当前屏幕密度的比例关系进行缩放操作。

7、分辨率(

8、Platformversion:参见ApiLevels。适配顺序也是从高到低

Android资源匹配流程:

Bestpractice:

1、为不同的屏幕尺寸及方向提供不同的

2、为不同的屏幕密度

3、提供默认资源防止crash

4、修改某个目录下的值的时候,确认其上层是否有配置该参数值,如果有,则可以直接修改;如果没有,则要将本层的值复制到上层之后再来修改本层的值

Android官方:

https://developer.android.com/guide/topics/resources/providing-resources.html

https://developer.android.com/guide/practices/screens_support.html

有的事情现在不做,就一辈子也不会做了。

mydreamongo的专栏

相关文章:

你感兴趣的文章:

标签云: