1.概念
1.1 定义 什么叫做屏幕适配?
Android的领域里,碎片化非常严重,屏幕尺寸不同的手机可能多达几千上万种,屏幕适配的作用,就是使同一个元素,在屏幕尺寸不同的手机上显示效果一样。
1.2 几个重要的概念。
1.2.1 屏幕尺寸
所谓的屏幕尺寸,指的是屏幕对角线的长度。
1.2.2 屏幕分辨率
通常屏幕的分辨率使用类似于1920*1080这样表示,这个公式的意思就是:纵向1920个像素点,横向1080个像素点。
1.2.3 屏幕像素密度
屏幕像素密度,即我们常说的dpi。也就是每英寸长度中的像素点。
例如: 分辨率为1920 * 1080 ,6.5寸的屏幕。
image.png
1.2.4 dp、dip、sp、px
- px 像素点: 1px 代表屏幕上的一个物理像素点
- dp: 密度无关像素 dp = dip 以160像素密度为基准,即 160dpi。 在160dpi的情况下,1dip = 1px,如果是320dpi,则 1dip = 2px,以此类推。
px、dp、dip之间的关系:px = dp *(dpi / 160)
原因:px = density * dp 、 density = dpi/160 => px = dp *(dpi / 160)
sp: ScaledDensity: 字体缩放因子,一般情况下与density相等。如果在系统设置中改变文字的尺寸,这个值会改变。
当文字尺寸为正常时: 1sp = 1dp = 0.00625英寸
当文字尺寸为大或超大时: 1sp > 1dpdrawable文件夹对应的dpi范围
mdpi: 120dpi - 160dpi 图片大小: 4848px
hdpi: 160dpi - 240dpi 图片大小: 7272 px
xhdpi: 240dpi - 320dpi 图片大小:9696px
xxhdpi:320dpi - 480dpi 图片大小:144144 px
xxxhdpi : 480dpi - 640dpi
2.屏幕适配的几种方式