这可能最终成为一个“是”或“否”的问题......
从牛轧糖(也许是棉花糖?)开始,用户可以更改其设备的显示尺寸。特别是在 Galaxy S8 和 S8+ 上,用户可以更改显示分辨率。
我在这里看到了解决方案:获取屏幕宽度和高度
问题:这些解决方案是否提供屏幕的实际高度/宽度,而不管分辨率如何改变,或者如果分辨率改变,它们是否提供调整后的屏幕高度/宽度?
如果是第一个,我如何获得调整后的高度/宽度?
有趣的问题。它以像素为单位为我提供了调整后的尺寸。我现在已经在运行 Android O 的 Pixel 中对其进行了测试。
方法一:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
方法二:
Configuration configuration = getResources().getConfiguration();
int screenWidthDp = configuration.screenWidthDp;
int screenHeightDp = configuration.screenHeightDp;
int smallestScreenWidthDp = configuration.smallestScreenWidthDp;
这两种方法都返回调整后的尺寸。第一种方法返回设备屏幕尺寸。第二种方法返回应用程序屏幕的尺寸。当在多窗口模式下打开两个应用程序时,这两个结果会有所不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句