0

我正在使用 WindowManager 获取插图,在某些情况下 inset.top 返回 0。这是我获取 WindowManager 的方式:

val Context.windowManager: WindowManager
    get() =  asActivity()?.windowManager ?: getSystemService(Context.WINDOW_SERVICE) as WindowManager


fun Context.asActivity(): Activity? {
    return when (this) {
        is Activity -> this
        is ContextWrapper -> baseContext.asActivity()
        else -> null
    }
}

虽然上下文来自活动(片段、对话框等),但一切正常(即使在 API30 中)?在 Android 12(API 31)中对此进行了测试,一切正常,但在 android 11 上,当上下文来自行为(我创建了自定义)时,它 inset.top 为 0,但底部是正确的。真的不知道为什么会这样?已经认为这是 API 30 中的错误

4

0 回答 0