因项目适配,需要获取到屏幕当前的分辨率大小,这里做下简单的记录
获取屏幕分辨率的方式有很多,可以先通过adb来查看屏幕的分辨率,指令如下:
adb shell wm size
代码中具体获取分辨率的方法如下:
方法一. 通过DisplayMetrics类获取
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;
方法二. 通过Resources获取
DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
方法三. 通过WindowManager获取
Display display = getWindowManager().getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
通过以上方法获取的分辨率与实际的分辨率不一样,获取的屏幕高度是减掉虚拟返回键后的分辨率,那如何获取完整的分辨率呢,方法如下
方法四.
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;获取屏幕高(包含虚拟返回键)
以上就是获取屏幕密度的全部内容,如有错误,欢迎指正。