如何通过编程检测小米设备中的全屏手势模式

How to detect full screen gesture mode in Mi devices programmatically(如何通过编程检测小米设备中的全屏手势模式)
本文介绍了如何通过编程检测小米设备中的全屏手势模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我尝试过这些建议。

  1. How to detect full screen gesture mode in android Q
  2. Android: detect navigation bar visibility
  3. Check for navigation bar

推荐答案

经过搜索和试验,我找到了唯一的解决方案:How to detect full screen gesture mode in android Q。

不使用ViewCompat.setOnApplyWindowInsetsListener()函数,我只需要为当前上下文创建一个WindowInsets实例,然后检查每个边的getSystemGestureInsets()。我就是这样实现的,以使Reaction Native模块成为其本机模块。

如果你需要一个监听器来检测每一个变化,上面的解决方案在Android应用程序上做得很好。如果您希望此监听程序用于Reaction Native,您可能需要寻找其他方法,因为我尚未使其起作用。

这篇关于如何通过编程检测小米设备中的全屏手势模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)