📜  获取屏幕大小 android (1)

📅  最后修改于: 2023-12-03 15:27:49.639000             🧑  作者: Mango

获取屏幕大小 Android

在进行Android开发时,获取屏幕大小是一个很常见的操作。本文将介绍如何在Android中获取屏幕的宽度和高度。

1. 获取屏幕宽度和高度

要获取屏幕宽度和高度,我们需要使用Android提供的DisplayMetrics类。DisplayMetrics类提供了一些屏幕显示相关的信息,包括屏幕的宽度和高度。

获取屏幕宽度和高度的代码如下所示:

DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;

代码解释如下:

  • getResources()方法可以获取当前Activity的Resources对象;
  • getDisplayMetrics()方法可以获取DisplayMetrics类的实例;
  • widthPixelsheightPixels属性分别表示屏幕的宽度和高度。
2. 获取屏幕物理尺寸

除了获取屏幕的像素尺寸之外,有时候我们还需要获取屏幕的物理尺寸,即屏幕的对角线长度。这个可以通过Display类的getRealSize方法来实现。

获取屏幕物理尺寸的代码如下所示:

Display display = getWindowManager().getDefaultDisplay();
Point screenSize = new Point();
display.getRealSize(screenSize);
double screenInches = Math.sqrt(Math.pow(screenSize.x / dm.xdpi, 2) +
                        Math.pow(screenSize.y / dm.ydpi, 2));

代码解释如下:

  • getWindowManager()方法可以获取WindowManager的实例;
  • getDefaultDisplay()方法可以获取Display类的实例;
  • getRealSize(screenSize)方法可以获取屏幕的像素尺寸,并将其存储到Point对象中;
  • screenSize.x / dm.xdpiscreenSize.y / dm.ydpi分别表示屏幕的英寸长度(根据屏幕像素尺寸和dpi计算得出);
  • Math.sqrt(Math.pow(..., 2) + Math.pow(..., 2))可以计算出屏幕对角线的长度,即屏幕的物理尺寸。

以上就是在Android中获取屏幕大小的介绍。通过使用DisplayMetrics和Display类,我们可以很方便地获取屏幕的尺寸信息。