Android View中如何判断长按事件

2014-11-24 11:33:32 · 作者: · 浏览: 2

一、如果用户在获得焦点的VIEW上按KEYCODE_DPAD_CENTER或KEYCODE_ENTER键,即OK键后,在VIEW的onKeyDown方法中会开启一个延迟线程,在延迟线程中会去回调onLongClick()方法,代码如下:


在如下代码中开始延迟线程:



延迟线程代码如下:



在View中的onTouchEvent中的DOWN事件中:



如果没有移动,则会开启一个延迟线程回调onLongClick()方法:



在其中要注意二个参数:


ViewConfiguration.getTapTimeout() 是用于检测触摸点有没有移动的时间,默认为115毫秒


ViewConfiguration.getLongPressTimeout() 是用于检测是不是长按的时间,默认为500毫秒