美文网首页
Android屏幕适配

Android屏幕适配

作者: 七岁的凯哥 | 来源:发表于2019-12-21 08:53 被阅读0次

    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格式的图片四条黑线分别代表什么意思?

    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

    <Button android:layout_width="@dimen/dp_26_9" android:layout_height="@dimen/dp_19_2" /> 如果标注图上标注的都是dp单位,假如上面标注的Button的宽是56dp,高度是40dp <Button android:layout_width="@dimen/dp_56" android:layout_height="@dimen/dp_40" />

    相关文章

      网友评论

          本文标题:Android屏幕适配

          本文链接:https://www.haomeiwen.com/subject/marmnctx.html