【手势识别】GestureDetector(已废弃)

//三个监听器
GestureDetector.OnGestureListener//单击手势
GestureDetector.OnDoubleTapListener//双击手势
GestureDetector.SimpleOnGestureListener

使用方法

//(1)在setOnTouchListener监听器中重写onTouch()方法
//先实例一个GestureDetector对象
mGestureDetector = new GestureDetector(MainActivity.this, new   
    MyOnGestureListener());
// 为控件设置OnTouchListener()监听器,重写onTouch()方法
// 将MotionEvent事件转发给OnGestureListener监听器
image.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        //将MotionEvent转发给MyOnGestureListener监听器
        mGestureDetector.onTouchEvent(event); 
        return true; //必须要return true
    }
});

//(2)重写OnGestureListener监听器,重写必要的抽象方法
public class MyOnGestureListener extends SimpleOnGestureListener{
    public boolean onFling(MotionEvent e1
        , MotionEvent e2, float velocityX,  float velocityY) {

}

重点 手势交互详解

触屏霎那,触发MotionEvent事件
被OnTouchListener监听
在onTouch()中获得MotionEvent对象
GestureDetector转发给MotionEvent对象至OnGestureListener
OnGestureListener获得对象,根据该对象封装信息做出合适反馈

各个组件的作用

MotionEvent 
用于封装手势,触摸笔等动作事件 
内部封装用于记录横纵轴坐标属性XY

GestureDetector 识别各手势

OnGestureListener
手势交互监听接口,其提供多个抽象方法
根据GestureDetector手势识别结果调用方法

GestureDetector
触摸屏按下,移动,抬起等
重载onTouch或设置setOnTouchListener

GestureDetector工作原理
收到用户触摸消息,将消息交给GestureDetector加工
通过设置监听器获得GestureDetector处理后的手势

GestureDetector提供两个监听器
OnGestureListener单击消息
OnDoubleTapListener双击消息

OnGestureListener   接口
单击  onDown(MotionEvent e)
抬起  onSingleTapUp(MotionEvent e)
短按  onShowPress(MotionEvent e)
长按  onLongPass(MotionEvent e)
滚动  onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY)
滑动  onFling(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY)

OnDoubleTapListener
双击onDoubleTap(MotionEvent e)
双击按下抬起各触发一次onDoubleTapEvent(MotionEvent e)
单击确认onSingleTapConfirmed(MotionEvent e)

SimpleOnGestureListener
继承SimpleOnGestureListener
重载感兴趣手势
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值