安卓获取屏幕尺寸(宽度、高度)、密度

作者:vkvi 来源:ITPOW(原创) 日期:2019-3-16
  • 获得了屏幕尺寸,比如我的是:1080x1920
  • 如果我们开启了转屏,横置手机时,尺寸就会变为:1920x1080
  • 如果我们开启了转屏,横置了手机,但是在 APP 中保持当前 Activity 不旋转,尺寸是多少呢?答案是:1080x1920

也就是说使用哪个是宽度、哪个是高度,与 APP 的视角一致

不过,getWidth()、getHeight() 方法已经被 API 16 抛弃了,改用下面的方法:

其特性与 getWidth()、getHeight() 一致。可是我们往往不满足宽、高,我们还需要更多参数,用下面的方法:

我们还可以使用如下属性:

  • metrics.density,我手机的值是 3.0
  • metrics.densityDpi,我手机的值是 480
  • metrics.scaledDensity,我手机的值是 3.0
  • metrics.xdpi,我手机的值是 403.411
  • metrics.ydpi,我手机的值是 403.041

特别说明的是:xdpi、ydpi 不受屏幕旋转的影响,看来 x 不代表 width、y 不代表 height 啊。

相关文章