由于安卓是开源的,所以产生了各种各样的机型,屏幕适配问题随之而来。
1.首先了解几个重要概念
1.1屏幕尺寸/屏幕分辨率/屏幕像素密度
屏幕尺寸:屏幕对角线长度,单位是英寸,1英寸=2.54厘米
屏幕分辨率:屏幕纵横线上的像素点数,单位是px,1px=一个像素点
屏幕像素密度:屏幕每英寸上的像素点数
1.2dp/dpi/px/sp
px:屏幕分辨率的基本单位,一般美工作图以px为单位。
dp/dip:都是Density Independent Pixels的缩写,即密度无关像素(每英寸px数/160)。dpi为屏幕像素密度,假如1英寸内有160个像素,那么屏幕像素密度为160dpi。我们一般以160dpi为基准做dp和px的换算,假如说屏幕像素密度为160dpi,那么1dp=1px。如果说屏幕密度为320dpi,那么1dp=2px,以此类推。
sp:与dp类似,可以根据文字大小首选项进行放缩,通常用于设置文字大小。
1.3mdpi/hdpi/xhdpi/xxhdpi
用来修饰不同像素密度下drawable和values文件。
mdpi:160dpi
hdpi:240dpi
xhdpi:320dpi
xxhdpi:480dpi
xxxhdpi:640dpi
各种尺寸在不同的文件夹下应按照2:3:4:6:8进行缩放。
2.适配方案
2.1多套dimen文件
2.2网上有AutoLayout
2.3https://github.com/yatoooon/AndroidScreenAdaptation