dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:
在320x480分辨率,像素密度为160,1dp=1px
在480x800分辨率,像素密度为240,1dp=1.5px
计算公式:
1dp*像素密度/160 = 实际像素数
float density = context.getResources().getDisplayMetrics().density;
px = (int)(dp * scale + 0.5f);
dp = (int)(px / scale + 0.5f);