Android适配

2020-11-24  本文已影响0人  沫沫么么哒Die

相关概念

屏幕尺寸

含义:手机对角线的物理尺寸
单位:英寸(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特有的单位

独立比例像素

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

屏幕适配问题的本质

屏幕密度适配解决方案

  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. 根据设计图的尺寸,找到对应像素数的单位,然后设置给控件

图片资源匹配

参考链接

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

上一篇下一篇

猜你喜欢

热点阅读