public class DisplayUtil {
public static int sp2px(Context context ,float sp)
{
//mdpi 2.53cm 160 1dp=1px 320*480
//hdpi 240 1dp=1.5px 480*800
//xhdpi 320 1dp=2px 720*1280 标清
//xxhdpi 480 1dp=3px 1080*1920 高清
//xxxhdpi 640 1dp=4px 1440*2560 2k
Resources resources=context.getResources();
//Metric 度量
DisplayMetrics displayMetrics=
resources.getDisplayMetrics();
//scale 缩放
//Density 密度
float density=displayMetrics
.scaledDensity;
return (int)(density*sp);
}
public static int sp2px(Context context ,float sp)
{
//mdpi 2.53cm 160 1dp=1px 320*480
//hdpi 240 1dp=1.5px 480*800
//xhdpi 320 1dp=2px 720*1280 标清
//xxhdpi 480 1dp=3px 1080*1920 高清
//xxxhdpi 640 1dp=4px 1440*2560 2k
Resources resources=context.getResources();
//Metric 度量
DisplayMetrics displayMetrics=
resources.getDisplayMetrics();
//scale 缩放
//Density 密度
float density=displayMetrics
.scaledDensity;
return (int)(density*sp);
}
}
==============================================================================
例如
//mdpi 2.53cm 160 1dp=1px 320*480
1英寸=2.53cm,每英寸含有160个像素点
320*480时指横向有320个像素点
所以这样的手机拥有320/160英寸的宽度