当前位置: 首页 > 面试题库 >

获取实际的屏幕高度(android)

鞠子轩
2023-03-14
问题内容

我想获取运行我的应用程序的设备的实际屏幕高度。为此,我尝试以下操作:

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让屏幕高度的好方法?


问题答案:

看到这个答案

如果您的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()html" target="_blank">返回完整的屏幕尺寸,如文档中所述:

获取显示的实际大小,而不减去任何窗口装饰或应用任何兼容性比例因子。

尺寸根据显示器的当前旋转进行调整。

当窗口管理器模拟较小的显示时(使用adb shell am display-size),实际尺寸可能小于屏幕的物理尺寸。



 类似资料:
  • 在Android系统中如何获得屏幕的可用高度?我需要的高度减去状态栏/菜单栏或任何其他可能在屏幕上的装饰,我需要它为所有设备工作。另外,我需要在onCreate函数中了解这一点。我知道这个问题以前有人问过,但我已经尝试过他们的解决方案,但没有一个奏效。以下是我尝试过的一些事情: 我已经在API7-17上测试了这段代码。不幸的是,在API 13的底部水平和垂直都有额外的空间,而在API 10、8和7

  • 问题内容: 如何获取Android屏幕的可用高度?我需要减去状态栏/菜单栏或屏幕上可能显示的任何其他装饰的高度,并且需要它适用于所有设备。另外,我需要在onCreate函数中知道这一点。我知道之前曾有人问过这个问题,但我已经尝试过他们的解决方案,但没有一个起作用。这是我尝试过的一些方法: 我已经在API 7-17上测试了此代码。不幸的是,在API 13的水平和垂直底部都没有多余的空间,而在API

  • 本文向大家介绍使用Tkinter Python获取屏幕的高度和宽度,包括了使用Tkinter Python获取屏幕的高度和宽度的使用技巧和注意事项,需要的朋友参考一下 Tkinter是为Python程序提供GUI编程功能的库。作为GUI创建的一部分,我们需要创建不同大小和深度的屏幕布局。在此程序中,我们将看到如何以像素和毫米为单位计算屏幕尺寸。我们还可以获得以像素为单位的屏幕深度。作为Tkinte

  • 本文向大家介绍vue 监听屏幕高度的实例,包括了vue 监听屏幕高度的实例的使用技巧和注意事项,需要的朋友参考一下 项目用vue版本是2.0的,项目中用到es6 首先需要在data里面定义页面的高度 把window.onresize事件挂在到mounted 监听window.onresize事件 这里的定时器是为了优化,如果频繁调用window.onresize方法会造成页面卡顿,增加定时器会避免

  • 本文向大家介绍Android获取常用辅助方法(获取屏幕高度、宽度、密度、通知栏高度、截图),包括了Android获取常用辅助方法(获取屏幕高度、宽度、密度、通知栏高度、截图)的使用技巧和注意事项,需要的朋友参考一下 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就分享一下Android中常用的一些辅助方法: 获取屏幕高度: 获取屏幕宽度: 获取屏幕

  • 问题内容: 我很难获得较低的屏幕分辨率,因为我的屏幕分辨率为1920x1080。 有谁知道如何获得屏幕分辨率的高度和宽度? 我在1024x768分辨率上检查了我的作品,结果全部乱成一团。 问题答案: 无法从CSS获取屏幕高度。但是,从CSS3开始,您可以使用媒体查询来根据分辨率控制模板的显示。 如果要使用媒体查询基于高度进行编码,则可以定义样式表并像这样调用它。