美文网首页
Android适配

Android适配

作者: 沫沫么么哒Die | 来源:发表于2020-11-24 18:00 被阅读0次

    相关概念

    屏幕尺寸

    含义:手机对角线的物理尺寸
    单位:英寸(inch)-1英寸=2.54cm,android常见的尺寸有5寸,5.5寸,6寸

    屏幕分辨率

    含义:手机在横向,纵向上的像素点数总和,一般描述成屏幕的"宽x高"=AxB,表示屏幕在横向方向(宽度)上有A个像素点,在纵向方向上有B个像素点,例如1080x1920表示宽有1080个像素点,高有1920个像素点
    单位:px(pixel),1px=1像素点;ui设计图会以px为统一的计量单位
    android常见的分辨率:320x480,480x800,720x1280,1080x1920

    屏幕像素密度

    含义:每英寸的像素点数
    单位:dpi


    image.png

    屏幕尺寸,分辨率,像素密度三者关系

    密度(单位/dpi)=√(宽²+高²)/屏幕大小-->密度即每英寸的像素点

    密度无关像素

    含义:density-independent pixel,叫dp或dip,与终端上的实际物理像素点无关
    单位:dp,可以保证在不同屏幕像素密度的设备上显示相同的效果
    android开发时用dp而不是px单位设置图片大小,这是android特有的单位

    • dp与px的转换
      在android中规定以160dpi为基准:1dp = 1px


      image.png

    独立比例像素

    含义:scale-independent pixel,叫sp或sip
    单位:sp android开发时用此单位设置文字大小,可根据字体大小首选项进行缩放,推荐使用偶数,因为使用奇数和小数容易造成精度的丢失问题,小于12sp的字体会太小

    屏幕适配问题的本质

    • 使得布局,布局组件,图片资源,用户界面流程匹配不同的屏幕尺寸
    • 使得图片资源匹配不同的屏幕密度

    屏幕密度适配解决方案

    • 布局控件匹配
      1. 使用密度无关像素:dp,sp
    • 屏幕尺寸和屏幕分辨率适配:百分比适配方法
    1. 以某一个分辨率为基准,生成所有分辨率对应像素数列表(实际可用的分辨率进行适配)
      • 下载鸿洋提供的工具 autolayout.jar 此工具默认基准是480*320,通过在cmd下敲
        java -jar xx.jar 基准宽 基准高 额外支持尺寸1的宽,额外支持尺寸1的高_额外支持尺寸2的宽,额外支持尺寸2的高
    2. 将生成的像素数列表(lay_x.xml和lay_y.xml)存放在res目录下对应的values文件下,必须在默认的values里面也创建对应的默认lay_x.xml和lay_y.xml,否则会报错,不能进行适配,此values下对应的单位应改为dp,为不同于其他的px
    3. 根据设计图的尺寸,找到对应像素数的单位,然后设置给控件

    图片资源匹配

    • 使得图片在不同屏幕密度上显示相同的像素效果
      做法:提供备用位图(符合屏幕尺寸的图片资源)由于android可在各种屏幕密度的设备上运行,因此需要图片始终满足各类密度的要求,因为图片太多会造成apk变大,因为有些设计师不会专门为android切图,而iphone的一倍图(1334750)的屏幕密度是326,接近android的(720*1280)屏幕密度320,所以我们可以用一倍图放到xhdpi文件夹里面

    参考链接

    https://www.jianshu.com/p/ec5a1a30694b
    http://dditblog.com/itshare_843.html 有下载jar包的地址
    https://blog.csdn.net/Arise_Yang/article/details/105954296 获取实际可用的分辨率的方法

    相关文章

      网友评论

          本文标题:Android适配

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