监听滑动事件而不消耗任何触摸事件

Posted

技术标签:

【中文标题】监听滑动事件而不消耗任何触摸事件【英文标题】:Listening to swipe event without consuming any touch event 【发布时间】:2013-07-19 16:43:24 【问题描述】:

我有一个活动,上面有一个视图。我想在该视图上添加一个触摸监听器,它监听滑动事件。但是,我不想消耗任何事件。如果我这样做,我只能得到 ACTION_DOWN 事件。那是因为如果我不消费事件,我就听不到后面的 ACTION_UP 或 ACTION_MOVE 事件。是否有能力检测滑动但不消耗事件?

【问题讨论】:

【参考方案1】:

由于没有人回答,我将分享我的发现。 可悲的是,我想要的东西是不可能的。在动作停止事件中,程序应该选择是否要使用该事件。如果没有,则该事件将被传递,并且无法捕获即将发生的 ACTION_MOVE、ACTION_UP 事件。这就是视图的工作原理。

【讨论】:

【参考方案2】:

覆盖您的ActivitydispatchTouchEvent()。它接收所有 up、down 和 move 事件而不消耗任何事件。

【讨论】:

以上是关于监听滑动事件而不消耗任何触摸事件的主要内容,如果未能解决你的问题,请参考以下文章

移动端touch触屏滑动事件滑动触屏事件监听!

横向滑动的listview和其中用到的触摸监听事件详解

JS事件监听手机屏幕触摸事件 Touch

web 页面/内容滑动

Android 仿IOS边缘滑动事件监听

Android 仿IOS边缘滑动事件监听