Android系统中长按事件的实现机制解析

2014-11-24 11:01:47 ? 作者: ? 浏览: 0

1)pre-pressed:对应的语义是用户轻触(tap)了屏幕


2)pressed:对应的语义是用户点击(press)了屏幕


3)long pressed:对应的语义是用户长按(long press)了屏幕


下图是触摸消息随时间变化的时间轴示意图:




其中,t0和t1定义在ViewConfiguration类中,标识了tap和longpress的超时时间,定义如下:




1)PostDelayed函数


该函数的主要工作是获取UI线程的Handler对象,然后调用Handler类的postDelayed函数将指定的Runnable对象放到消息队列中。


该类实现了Runnable接口,在run函数中设置触摸标识,并刷新Drawable的状态,同时用于发送一个检测长按事件的异步延迟消息,代码如下:


3)CheckForLongPress类


该类定义了长按操作发生时的响应处理,同样实现了Runnable接口


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: