我正在编写一个 Android 应用程序,需要计算屏幕的高度才能正确显示内容。但是当我切换到全屏手势模式时,我在小米设备(Mi 9 SE)中获得的高度不正确。
如何获取小米设备屏幕的真实高度,或者检查用户是否开启了全屏手势模式?
我已经尝试过这些建议。
- 如何在android Q中检测全屏手势模式 https://stackoverflow.com/questions/56689210/how-to-detect-full-screen-gesture-mode-in-android-q
- Android:检测导航栏可见性 https://stackoverflow.com/questions/29775694/android-detect-navigation-bar-visibility
- 检查导航栏 https://stackoverflow.com/questions/16092431/check-for-navigation-bar
经过搜索和实验,我找到了唯一的解决方案:如何在android Q中检测全屏手势模式 https://stackoverflow.com/a/56792591/7818051.
而不是使用ViewCompat.setOnApplyWindowInsetsListener()
函数,我只需要创建一个WindowInsets
当前上下文的实例,然后检查getSystemGestureInsets()
对于每条边。这就是我如何实现制作 React Native 的本机模块。
如果您需要一个侦听器来检测每个更改,上面的解决方案在 Android 应用程序上表现良好。如果您想要 React Native 的这个监听器,您可能需要找到另一种方法,因为我还没有让它工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)