Android Fragments 如何确定是否启用了边到边?

zzlelutf  于 12个月前  发布在  Android
关注(0)|答案(1)|浏览(111)

如何在我的片段中确定Activity中启用了函数WindowCompat.setDecorFitsSystemWindows(window, false)的边到边
有什么想法吗?
可以得到WindowCompat.setDecorFitsSystemWindows(window, false)的值吗?

qfe3c7zg

qfe3c7zg1#

没有公共API可用于查询此状态。您可能需要在应用中管理此状态,例如在启用边缘到边缘时设置一个标志,然后在片段中检查该标志?
或者,您可以尝试从系统UI可见性标志中推断:

val isEdgeToEdgeEnabled = activity?.window?.decorView?.systemUiVisibility?.and(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) != 0

字符串
但这需要使用反射,这可能是有风险的,因为它可能无法在不同的Android版本或设备上工作,并且可能会在未来的Android更新中中断,所以如果使用自己的标志就足够了,我不建议这样做。

相关问题