物理尺寸:屏幕对角线的长度,如4寸(3寸=10cm)
分辨率:屏幕显示的总像素,如480*800(宽480个像素点,高800像素点)
像素密度:dpi,每英寸点数(1英寸=2.54cm)
某边的分辨率(总像素数)= 该边物理尺寸(单位是英寸) × 像素密度
手机屏幕密度:低密度(ldpi,120dpi),中密度(mdpi,160dpi),高密度(hdpi,240dpi),超高密度(xhdpi,320dpi)等
px:屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。
dip:设备独立像素,以160dpi的设备为参照,在160dpi设备上1dip=1px,pixs = dips * (density/160)
dp:等同于dip
sp:用于标识字体的,它不仅跟屏幕尺寸有关,还跟设置的系统字体大小有关,用户修改系统字体大小会改变字体。
根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。在160dpi屏幕中,当字体大小为100%的时候,1sp=1px。
public void setTextSize(float size) { setTextSize(TypedValue.COMPLEX_UNIT_SP, size); }用sp和dp代替px,在不同dpi屏幕下,呈现的高度大小是相同的,更接近物理呈现。