首页 > 解决方案 > 在 Android Q 上,如何获取左侧导航手势区域的垂直坐标?

问题描述

在 Android Q 上,启用手势导航后,屏幕的大部分左(和右)边缘都保留给后退手势。它与我正在使用的导航抽屉冲突。虽然最新的 androidx 库支持通过在边缘长按 + 滑动来打开抽屉,但这种手势太不可靠——它通常会在内部视图上产生长按或返回手势,而不是打开抽屉。

由于导航抽屉是应用程序中非常常用的元素,我想让用户选择在显示屏底部有一个区域,他们可以在其中正常打开抽屉。我可以使用View#setSystemGestureExclusionRects它。它将禁区限制为 200dp,这不算多。我注意到左侧手势区域不是从屏幕底部开始,而是从底部手势区域上方的某个位置开始——屏幕左边缘有一个空间,没有手势区域适用。为了最大化我得到的 200dp,我想将禁区正好放在手势区的底部。为此,我需要找到手势区域的确切垂直坐标。我怎样才能做到这一点?

或者,我可以在保持常规导航手势的同时获得超过 200dp 吗?

标签: androidgestureandroid-10.0

解决方案


推荐阅读