android 长时间滑动屏幕触发长按事件

穷困潦倒 发布于 2017/03/03 14:11
阅读 560
收藏 0

API等级是 14

问题描述:

我自己定义了一个view,重写的onTouchEvent,onTouchEvent中第一行是调用父类的onTouchEvent,接着是自己的一些处理逻辑,最后返回true(就是不管什么事件都返回true)。

在activity中,我给这个view添加了onLongClickListener,也是任何情况下都返回true。

然后运行中,我长时间滑动,会触发长按事件。

预期应该是滑动不会触发长按事件的,只有按下不动才会触发。

我在一些关于android事件分发的博客中了解到,View的onTouchEvent默认实现是,down事件的时候会开启一个线程计算时间,持续一定时间后调用长按事件。

up,和move事件会结束那个计算时间的线程。

所以,按我上面了解到的,在滑动的时候会触发move事件,计算时间的线程会被关闭,从而不会触发长按事件。

 

我对View的onTouchEvent默认实现认识有错吗?或者不够全面。

什么原因导致上述情况?

加载中
返回顶部
顶部