Android Display x DisplayMetrics - 访问显示尺寸的最正确方法是什么?

标签 android dimensions

第一种方法:

DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();

int deviceHeight = displayMetrics.heightPixels;
int deviceWidth = displayMetrics.widthPixels;

第二种方法:

Display mDisplay = getWindowManager().getDefaultDisplay();
Point point = new Point();
mDisplay.getSize(point);

int deviceHeight = point.y;
int deviceWidth = point.x;

我做了一些测试,两种方法都返回相同的值。那么,我使用的方法取决于我使用它的上下文?或者,一种方法比另一种更好吗?

谢谢,

最佳答案

DisplayMetrics 仅用于获取有关显示的信息,例如大小、密度和字体缩放。

另一方面,Display 类可以做同样的事情,但也可以获取未显示应用程序的显示大小(不包括系统装饰)或获取正在显示应用程序的显示部分(包括系统装饰品)。

如果您只想获取显示尺寸,DisplayMetrics 似乎是最佳选择,因为它最适合您的需求。没有更好,只有偏好。

关于Android Display x DisplayMetrics - 访问显示尺寸的最正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550173/

相关文章:

android - 在android中打印现有的pdf文件

javascript - 根据窗口大小调整页面元素的大小

api - youtube Analytics API,指定两个维度

java - 在没有 ImageObserver 的情况下在 Java 中获取图像的高度和宽度

java - URLConnection 不读取整个页面

java - Android Google Play 通知不会将用户带到游戏屏幕

android - 在屏幕底部添加图标

Android Studio - Gradle 增量构建

java函数确定具有给定宽度的图像的高度?

r - R 中 3D 数组的方差