This commit is contained in:
Horis
2023-08-11 13:57:38 +08:00
parent 31264e1122
commit 0b675c0fb4
@@ -34,17 +34,24 @@ val WindowManager.windowSize: DisplayMetrics
val windowMetrics: WindowMetrics = currentWindowMetrics
val insets = windowMetrics.windowInsets
.getInsetsIgnoringVisibility(WindowInsets.Type.systemBars())
val insetsCutout = windowMetrics.windowInsets
.getInsets(WindowInsets.Type.displayCutout())
val windowWidth = windowMetrics.bounds.width()
val windowHeight = windowMetrics.bounds.height()
var insetsWidth = insets.left + insets.right
var insetsHeight = insets.top + insets.bottom
var insetsCutoutWidth = insetsCutout.left + insetsCutout.right
var insetsCutoutHeight = 0
if (windowWidth > windowHeight) {
val tmp = insetsWidth
insetsWidth = insetsHeight
insetsHeight = tmp
insetsCutoutHeight = insetsCutoutWidth
insetsCutoutWidth = 0
}
displayMetrics.widthPixels = windowWidth - insetsWidth
displayMetrics.heightPixels = windowHeight - insetsHeight
displayMetrics.widthPixels = windowWidth - insetsWidth - insetsCutoutWidth
displayMetrics.heightPixels = windowHeight - insetsHeight - insetsCutoutHeight
} else {
@Suppress("DEPRECATION")
defaultDisplay.getMetrics(displayMetrics)