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