1280*720 1920*1080 854*480 800*480 960*540 1184*720
1.屏幕像素密度:每英寸上的像素点数,单位是dpi(手机有高和宽,而他的斜边就是英寸)
2.屏幕分辨率:手机屏幕的像素点数
3.屏幕尺寸:单位英寸,就是手机对角线长度
4. dp(安卓独有):密度无关像素--- px:像素 ---- dip:就是dp
sp:描述字体的,通常使用12sp,14sp,18sp,22sp,为避免精度损失,建议不用奇数和小数
安卓规定:
dpi
320 * 240 -------120----------0.75
480 *320 -------160--------baseline ---1
800*480--------240----------1.5
1280*720------320--------- 2
1920*1080-----480----------3
假设现在写一个dp,在320 * 240的手机上代表的像素是 1dp=0.75px(120dpi/160)
dpi:就是屏幕像素密度的单位
计算规则如下:
根号下 (高的平方+宽的平方)/屏幕尺寸大小
如:1920*1920+1080*1080 开根号/手机英寸
根据公式可以得出,单一条件变换下,尺寸越小,分辨率越高,像素密度越大,反之亦然
1 dpi---mdpi---xhdpi---xxhdpi---xxxhdpi,他们的dpi分别是:
120 160 240 320 480 640
5.假设需求:textview占宽的一半,高无所谓,不能用权重,该怎么用dp呢
用160dp可以吗? 显然不行
<TextView
android:layout_width="160dp"
android:layout_height="100dp"
android:background="@color/black"
假设用320 * 240( 1dp=0.75px)的手机,那么160dp可以反推出120px,他的宽240,
所以刚好达到需求;但是如果在1280*720的手机上,160dp=320px,不等于360px,
所以这个型号应该写180px.
所以适配时去不同的values下去适配