📅  最后修改于: 2023-12-03 15:27:49.639000             🧑  作者: Mango
在进行Android开发时,获取屏幕大小是一个很常见的操作。本文将介绍如何在Android中获取屏幕的宽度和高度。
要获取屏幕宽度和高度,我们需要使用Android提供的DisplayMetrics类。DisplayMetrics类提供了一些屏幕显示相关的信息,包括屏幕的宽度和高度。
获取屏幕宽度和高度的代码如下所示:
DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
代码解释如下:
getResources()
方法可以获取当前Activity的Resources对象;getDisplayMetrics()
方法可以获取DisplayMetrics类的实例;widthPixels
和heightPixels
属性分别表示屏幕的宽度和高度。除了获取屏幕的像素尺寸之外,有时候我们还需要获取屏幕的物理尺寸,即屏幕的对角线长度。这个可以通过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.xdpi
和screenSize.y / dm.ydpi
分别表示屏幕的英寸长度(根据屏幕像素尺寸和dpi计算得出);Math.sqrt(Math.pow(..., 2) + Math.pow(..., 2))
可以计算出屏幕对角线的长度,即屏幕的物理尺寸。以上就是在Android中获取屏幕大小的介绍。通过使用DisplayMetrics和Display类,我们可以很方便地获取屏幕的尺寸信息。