在项目中,屏幕自适应的问题很重要,在代码中我们用像素表示,怎么把dp转成像素px呢
专门写个工具类:
public class DisplayUtil{
/**
* 把dp或sp转成px
* @param context
* @param dp
* @return
*/
public static int dp2px(Context context,int dp){
// mdpi 1dp=1px
// hdpi 1dp=1.5px
// xhdpi 720*1280 1dp=2px
// xxhdpi 1080*1920 1dp=3px
// xxxhdpi 1440*2560 1dp=4px
Resourse resources=context.getResources();
//1dp或者sp等于多少个像素点
float density=resources.getDisplayMetrics.scaledDensity;
// 6.5-->6
// 6.5+0.5=7
float px=density*dp+0.5f;
return (int) px;
}
}