Android getDisplayMetrics()的奇怪工作
我正在编写一个小应用程序,遇到了以下问题。 当以像素为单位测量屏幕高度时,全高清屏幕显示1920像素,全高清+屏幕(2160像素)显示2030像素。有什么问题吗?有没有一种不用拐杖就能解决的方法(哈哈) 全高清:Android getDisplayMetrics()的奇怪工作,android,screen-size,Android,Screen Size,我正在编写一个小应用程序,遇到了以下问题。 当以像素为单位测量屏幕高度时,全高清屏幕显示1920像素,全高清+屏幕(2160像素)显示2030像素。有什么问题吗?有没有一种不用拐杖就能解决的方法(哈哈) 全高清: getContext().getResources().getDisplayMetrics().heightPixels; >> W/Height of screen: 1920 FullHD+: getContext().getResources().getDispla
getContext().getResources().getDisplayMetrics().heightPixels;
>> W/Height of screen: 1920
FullHD+:
getContext().getResources().getDisplayMetrics().heightPixels;
>> W/Height of screen: 2030
也许问题在于我在模拟器中运行的全高清屏幕,但FullHD+是小米Mix 2s的原生版本,但无论如何,它都不能解决问题
UPD:是的,在emulator FullHD+屏幕上显示所有2160px。我很困惑。此方法返回的大小(
getContext().getResources().getDisplayMetrics().heightPixels
)不一定表示显示器的实际原始大小。它可能包括状态栏的高度,有时不取决于移动系统
您可以通过方法getWindowsManager().getDefaultDisplay().getRealmetrics(metrics)
获取活动
窗口的实际高度,该方法始终包含状态栏