px是像素
pt是磅数,1磅等于1/72英寸,一般pt都会作为字体的单位来使用
dp是密度无关像素,又称dip
sp是可伸缩像素
Android中的密度就是屏幕每英寸所包含的像素数,通常以dpi为单位。
例如:一个手机2英寸*3英寸,它的分辨率是320*480像素,那么它的密度就是160dpi;如果它的分辨率是640*960,那么它的密度就是320dpi。
我们可以通过代码来得知当前屏幕的密度是多少
- float xdpi = getResources().getDisplayMetrics().xdpi;
- float ydpi = getResources().getDisplayMetrics().ydpi;
- Log.d("MainActivity", "xdpi is " + xdpi);
- Log.d("MainActivity", "ydpi is " + ydpi);
根据Android的规定,在160dpi的屏幕上,1dp等于1px,而在320dpi的屏幕上,1dp就等于2px。