如何确定边到边启用?

问题描述 投票:0回答:1

如何在我的片段中确定活动中启用了边缘到边缘的功能

WindowCompat.setDecorFitsSystemWindows(window, false)

有什么想法吗?

是否可以获取

WindowCompat.setDecorFitsSystemWindows(window, false)
的值?

android android-fragments fullscreen statusbar edge-to-edge
1个回答
0
投票

没有公共 API 可以查询此状态。您可能需要在应用程序中管理此状态,也许可以通过在启用边缘到边缘时设置一个标志,然后在片段中检查该标志?

或者,您可以尝试从系统 UI 可见性标志中扣除:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.