如何以编程方式检测 Mi 设备中的全屏手势模式

Min*_*Dao 7 android fullscreen xiaomi

我正在编写一个需要计算屏幕高度才能正确显示内容的 Android 应用程序。但是当切换到全屏手势模式时,我在 Mi 设备(Mi 9 SE)中获得的高度不正确。如何获取屏幕的真实高度,或检查用户是否在 Mi 设备中打开了全屏手势模式?

我已经尝试过这些建议。

  1. 如何在android Q中检测全屏手势模式
  2. Android:检测导航栏可见性
  3. 检查导航栏

Min*_*Dao 0

经过搜索和实验,我找到了唯一的解决方案:How to detector full screengesture mode in android Q

ViewCompat.setOnApplyWindowInsetsListener()我只需为WindowInsets当前上下文创建一个实例,然后检查getSystemGestureInsets()每个边的实例,而不是使用函数。这就是我如何实现制作 React Native 的本机模块。

如果您需要一个侦听器来检测每个更改,上面的解决方案在 Android 应用程序上表现良好。如果您想要 React Native 的这个监听器,您可能需要找到另一种方法,因为我还没有让它工作。