搜索出来的,很多都不好使了,拿到的宽高都不对劲。
这里废话不多说,给一个目前来看最有用的。直接上代码:
/**
* 获取手机屏幕宽高(像素)
* @return 返回一个 Array
*/
private fun getScreen(context: Context): IntArray {
var mRealSizeWidth = 0
var mRealSizeHeight = 0
val display = (context.applicationContext.getSystemService(Context.WINDOW_SERVICE) as WindowManager).defaultDisplay
val outPoint = Point()
if (Build.VERSION.SDK_INT >= 19) {
// include navigation bar
display.getRealSize(outPoint)
} else {
// exclude navigation bar
display.getSize(outPoint)
}
if (outPoint.y > outPoint.x) {
mRealSizeHeight = outPoint.y
mRealSizeWidth = outPoint.x
} else {
mRealSizeHeight = outPoint.x
mRealSizeWidth = outPoint.y
}
return intArrayOf(mRealSizeWidth, mRealSizeHeight)
}