diff --git a/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt b/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt index e46257f09..8a5a5863e 100644 --- a/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/ActivityExtensions.kt @@ -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)