我想获取运行我的应用程序的设备的实际屏幕高度。为此,我尝试了以下操作:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int Height = metrics.heightPixels;
TextView HeightView = (TextView) findViewById(R.id.screenHeight);
HeightView.setText("Screen Height: " + Height);
int Width = metrics.widthPixels;
TextView WidthView = (TextView) findViewById(R.id.screenWidth);
WidthView.setText("Screen Width: " + Width);
我使用模拟器运行的设备屏幕宽度为 1080 像素,屏幕高度为 1920 像素。宽度显示正确(1080 像素),但高度根据应用只有 1776 像素。我需要什么才能使我的应用程序显示正确的屏幕高度? metrics.heightPixels
获取屏幕高度的糟糕方法吗?
原文由 Taegos 发布,翻译遵循 CC BY-SA 4.0 许可协议
看到 这个 答案
如果您的 API 级别 > 13 如果您正在活动,请尝试此操作
如果您不在 Activity 中,您可以通过 WINDOW_SERVICE 获取默认显示:
getWidth 和 getHeight 适用于 API 级别 13 或更低
更新
对于 API 17 及更高版本的方法
Display.getRealSize()
返回全屏尺寸,如 文档 中所述: