Android Display x DisplayMetrics - 访问显示尺寸的最正确方法是什么?
Android Display x DisplayMetrics - What's the most correct way to access the display 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;
我做了一些测试,两种方法 return 的值相同。那么,我使用的方法取决于我使用它的上下文?或者,一种方法比另一种更好吗?
谢谢,
DisplayMetrics 仅用于获取有关显示的信息,例如大小、密度和字体缩放。
另一方面,显示 class 可以做同样的事情,但也可以获取未显示应用程序的显示大小(不包括系统装饰)或获取显示的部分显示一个应用程序(包括系统装饰)。
如果您只想获取显示尺寸,DisplayMetrics 似乎是最佳选择,因为它最适合您的需求。没有更好,只有偏好。
第一种方法:
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;
我做了一些测试,两种方法 return 的值相同。那么,我使用的方法取决于我使用它的上下文?或者,一种方法比另一种更好吗?
谢谢,
DisplayMetrics 仅用于获取有关显示的信息,例如大小、密度和字体缩放。
另一方面,显示 class 可以做同样的事情,但也可以获取未显示应用程序的显示大小(不包括系统装饰)或获取显示的部分显示一个应用程序(包括系统装饰)。
如果您只想获取显示尺寸,DisplayMetrics 似乎是最佳选择,因为它最适合您的需求。没有更好,只有偏好。