Android的Touch事件处理和手势

Touch事件处理

 1、是Android中两种原始事件之一
 2、Touch事件的处理方式有两种
  1)为事件源添加 onTouchListener监听器
  2)重写事件源的 onTouchEvent方法  
 3、Touch事件处理时,监听器拥有较高的优先级
 4、事件处理方法返回值
   true:消费此事件,并消费此事件的后续关联事件
   false:不消费事件,对此事件的后续事件不感兴趣
 5、MotionEvent
   主要方法:
     int getAction()
     float getX()
     float getY()
   主要常量
     int ACTION_DOWN
     int ACTION_MOVE
     int ACTION_UP
     ...    

Touch事件的派发和处理过程

 1、派发:
   1)总是从Activity开始向下逐级派发,直到将事件派发给最终的焦点控件
   2)事件派发使用Activity或视图对象的 dispatchTouchEvent方法   
   3)dispatchTouchEvent方法的派发方向:
     a-向下一级容器或控件的dispatchTouchEvent中派发
     b-向该对象自己的事件处理方法中派发
 2、处理
   1)总是从最终的焦点控件的事件处理方法开始
   2)如果事件被消费则事件处理完成,如果事件未被消费,则传递给其父容器的事件处理方法
      以此类推 如果一直未被消费,最终在Activity的onTouchEvent中处理 

手势

 1、步骤
  1)创建类 实现 OnGestureListener
     或扩展自 SimpleOnGestureListener
     重写相关的手势处理方法
  2)使用手势监听器对象 创建一个 GestureDetector(手势探测器)
  3)在Touch事件处理方法中  将所有的touch事件传递给GestureDetector
     的onTouchEvent方法
 2、主要的相关接口和类型
  1、OnGestureListener
    onFling
    onScroll
    ...
  2、OnDoubleTapListener
    onDoubleTap
    ...
  3、SimpleOnGestureListener implements
        OnGestureListener,OnDoubleTapListener
  4、GestureDetector
   构造方法:GestureDetector(Context context,OnGestureListener l)
   主要方法:
    boolean onTouchEvent(MotionEvent event)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值