`dispatchGesture` 忽略叠加视图

`dispatchGesture` ignore overlay view

我正在使用 Android 辅助功能中的 dispatchGesture API。

我已经在屏幕上添加了一个覆盖层,我正在寻找一种在覆盖层后面 dispatchGesture 的方法(覆盖层是拦截原始手势的东西),否则手势会在我的 OverlayView并且不要在应用程序中播放。

有没有什么方法可以使用辅助功能 API 来做到这一点?

对于上下文 - 我希望能够帮助人们在 Android 中记录操作并重播它们以方便访问。

唉,这个一般没办法。当您观察时,可触摸的覆盖层将捕捉所有触摸。无法对触摸事件进行通用过滤。

您可能已经想到了这一点,但如果您正在播放预先录制的手势,您可以在发送它们之前移除叠加层。

通用过滤 API 不存在,因为在不引入严重卡顿的情况下过滤系统进程外的触摸事件非常困难。

您必须为您的视图使用 FLAG_NOT_TOUCHABLE params 标志,然后发送您的点击。