优化
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user