Android屏幕适配

基本概念

  • 屏幕尺寸:屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米。
  • 屏幕分辨率:在横纵向上的像素点数,单位是px。
  • 屏幕像素密度(ppi):每英寸屏幕所拥有的像素数。可视作等价于dpi

  • dp:也叫dip,是一种密度无关像素,在不同像素密度设备上会自动适配。

    官方定义在160dpi下,1dip = 1px。
dpi/160 像素密度范围
mdpi 0.75~1.0 120dpi~160dpi
hdpi 1.0~1.5 160dpi~240dpi
xdpi 1.5~2 240dpi~320dpi
xxdpi 2~3 320dpi~480dpi
xxxdpi 3~4 480dpi~640dpi

使用dp做屏幕适配依旧会引发问题

Android提供了dp来做屏幕适配,但仍会出现问题。
假设有两个设备:

屏幕宽度 屏幕像素密度(dpi) 屏幕总dp宽度 100dp占比
720px 320dpi 360dp 28%
1080px 400dpi 432dp 23%

这种情况就导致了在不同设备,100dp在屏幕上占比不同。所以使用dp来适配屏幕也不是最完美的解决方案。


如何适配屏幕

百分比适配

给每个分辨率的设备都引入一个value文件夹
比如:

  • values-720x1080
  • values-1080x1920
  • ......
    在720x1080分辨率中,1.0px
    则在1080x1920分辨率中,2.0px

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