[Android]如何获取设备真实尺寸
很多人都知道使用WindowManager.getDefaultDisplay.getDisplayMetrics(DisplayMetrics met)方法来获取屏幕宽度,但是这样其实是不一定准确的,因为有时候,会有小窗口(Virtual Display的存在)。
这样的话,我们就需要找出所有Display中尺寸最大的,把它当做设备的真实尺寸(可能会有比真实尺寸更大的Display,没具体确认过,这种情况本方法就不适用了)
代码如下:
private static Point getPhysicalScreenSize(Context context){ Point p = new Point(); DisplayManager dm = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE); Display[] displays = dm.getDisplays(); int maxWidth = -1, maxHeight = -1; DisplayMetrics met = new DisplayMetrics(); for(Display d : displays){ d.getMetrics(met); maxWidth = met.widthPixels > maxWidth ? met.widthPixels : maxWidth; maxHeight = met.heightPixels > maxHeight ? met.heightPixels : maxHeight; } p.x = maxWidth; p.y = maxHeight; return p; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。