DisplayMetrics类是用来获取手机屏幕信息的,通过以下方式获取DisplayMetrics类的对象
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
打印metrics.toString() 输出
DisplayMetrics{density=3.5, width=1440, height=2560, scaledDensity=3.5, xdpi=515.154, ydpi=512.0}
metrics.widthPixels 输出屏幕宽度绝对像素
metrics.heightPixels输出屏幕高度绝对像素
metrics.xdpi输出X轴上每英寸的绝对像素
metrics.ydpi输出Y轴上每英寸的绝对像素
metrics.density输出屏幕密度 可以用于dp 和 px 之间相互转化
metrics.scaledDensity 这个值与density一样, 但在运行中会根据用户设置的系统字体大小来动态调整。所以在px转sp时用的是这个属性而不是density.