Android屏幕适配

4

屏幕的分辨率越大,屏幕的画面就越清晰,画面就越细腻,屏幕密度就越大

drawable目录和mipmap目录的区别:mipmap放的是app的logon图标,drawable中放的是app的图标。

不同分辨率的目录                                  屏幕密度(dpi)                       屏幕分辨率                           密度比

mipmap-xxxhdpi 超超超高分辨率目录                640 px                      1440*2560                          4    1dp=4px 

mipmap-xxhdpi  超超高分辨率目录                  480 px                  1080*1920,1080×2340, 1080*2280          3    1dp=3px 

mipmap-xhdpi  超高分辨率目录                    320 px                    720*1280 768*1280                    2    1dp=2px

mipmap-hdpi    高分辨目录                        240 px                      480*800 480*854                      1.5  1dp=1.5px

mipmap-mdpi    中等分辨率目录                    160 px  基准                320*480                            1    1dp=1px                               

mipmap-ldpi    低分辨率目录                      120 px                      240*320                            0.75  1dp=0.75px

各个分辨率目录下的比值:4:3:2:1.5:1:0.75

图片适配:

1.最先会加载当前手机分辨率对应的目录下的图标,如果当前手机分辨率对应的目录下没有这个图标,那么就先从高分辨率目录下加载相应的图标.

问题1:低分辩的图片运行在高分辨率的手机上会有什么现象?(拉伸和失真)

问题2:   高分辨的图片运行在低分辨率的手机上会有什么现象?(压缩和失真)

问题3:低分辨率的图标放在高分辨率的drawable目录下,占用的内存会变大

问题4:不同的分辨率的目录对应的不同的分辨率图标,会出现什么问题?        apk体积过大

解决方案:

1:切一套主流分辨率图或者切两套主流分辨率图,分别放在主流分辨率目录下面比如:drawable-xxhdpi drawable-xhdpi下面

2.其他一些背景图,为了防止拉伸或者压缩失真,可以将图片做成png格式的图片(不管如何拉伸和压缩都不会模糊失真);


 png格式的图片四条黑线分别代表什么意思?

Android屏幕适配_第1张图片

1:上边的黑线  代表当前图片横向拉伸区域

2:左边的黑线   代表当前图片纵向拉伸区域

3:下边的黑线   代表当前图片中的内容横向显示的区域

4:右边的黑线   代表当前图片中的内人纵向显示的区域

问题5:不同分辨率的目录下对应的图片都是多少分辨率的?

mdpi:目录下默认放的小机器人图标是分辨率是48*48

(上家单位mdpi目录下放的图标的分辨率是40*40)

布局适配(重点)

原理:今日头条适配与DP适配方案(如下:)一样 https://github.com/JessYanCoding/AndroidAutoSize

PX适配

应用场景:当原型设计图上标注控件或者布局的单位都是PX

原理:现在常用的屏幕分辨率是1280*720或者1080*1920,一般美工也会根据这个分辨率给原型图(设计图).原型图上(设计图上)标注的都是px,以主流的分辨率1280*720为基准,把所有的宽度切成720份,高度切成1280份,其他的尺寸基于这个基准等比缩放

用法:

1.把screenMatchPX.bat和screenMatchPX.jar两个文件拷贝到你的项目的main目录下;

2.修改screenMatchPX.bat文件中你需要适配的屏幕参数;

3.进到screenMatchPX.bat文件所在的硬盘位置,双击执行.执行是不要在AS里面双击,AS不可执行bat文件(over)

DP适配(最小资源限定符适配|最小宽度(SmallestWidth)适配方案SW 限定符适配方案)

应用场景:当原型设计图上标注的单位都是dp的话,专门的dp适配方案  原理:以360dp为基准,其他的尺寸基于这个基准等比缩放.

用法:

1、默认的values文件夹中需要一份特定的dimens.xml文件

2、把screenMatchDP.bat和screenMatchDP.jar两个文件拷贝到你项目的main目录下;

3、修改screenMatchDP.bat文件中你需要适配的屏幕dp参数;

4、进到screenMatchDP.bat文件所在的硬盘位置,双击执行。执行是不要在AS里面双击,AS不可执行bat文件(over);

(注意):如果原型设计图标注得到控件或者布局宽高单位都是px,那么用DP适配的话,需要用标注的值除以密度比,那么结果就是在布局中声明的那个值,

比如设计图上的分辨率为:750*1334 上面标注的Button的宽度是56px,高度是40px  密度比是750/360=2.08833 那么在布局中Button的宽度是56px/2.08833=26.9dp  布局中的高度就是40px*2.08333=19.2dp

你可能感兴趣的:(Android屏幕适配)