看到这个答案
如果您的API级别> 13,请在活动时尝试
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
如果您不在活动中,则可以通过WINDOW_SERVICE获取默认的显示:
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
getWidth和getHeight适用于API级别13或更低
对于API 17和更高版本的方法,Display.getRealSize()
将返回完整的屏幕尺寸,如文档中所述:
获取显示的实际大小,而不减去任何窗口装饰或应用任何兼容性比例因子。
尺寸根据显示器的当前旋转进行调整。
当窗口管理器模拟较小的显示时(使用adb shell am display-size),实际尺寸可能小于屏幕的物理尺寸。