我正在编写一个Android应用程序,该应用程序需要计算屏幕高度才能正确显示内容。但是切换到全屏手势模式时,我在Mi设备(Mi 9 SE)中得到的高度不正确。 如何获取屏幕的实际高度,或检查用户是否在Mi设备中打开了全屏手势模式?
我尝试了这些建议。
答案 0 :(得分:0)
搜索和试验后,我找到了唯一的解决方案:How to detect full screen gesture mode in android Q。
代替使用ViewCompat.setOnApplyWindowInsetsListener()
函数,我只需要为当前上下文创建一个WindowInsets
实例,然后检查每个边缘的getSystemGestureInsets()
。这就是我实现React Native的本机模块的方法。
如果您需要一个侦听器来检测每个更改,则上述解决方案在Android应用程序上效果很好。如果您希望使用此侦听器作为React Native,您可能想要找到另一种方法,因为我没有使其工作。
答案 1 :(得分:0)
一个非常简单的答案: 不要使用DisplayMetrics。只需使任何视图占据屏幕的整个宽度和高度(MATCH_PARENT),然后获得它的尺寸,就可以给出准确的数字。