关于触摸事件处理的一些辅助类和回调方法(下)

 关于触摸事件处理的一些辅助类和回调方法(上):VelocityTracker

GestureDetector:手势检测,用于辅助检测用户的单击,滑动,长按,双击等行为。下面是使用过程:

可以使用该GestureDetector来接管onTouchEvent。

在自定义View中,使用GestureDetector可以这样:

public MyView extends View{

//......
pubic View(){
      //创建对象
       mGestureDetector = new GestureDetector(this,mOnGestrueListener);
}
//解决长按屏幕无法拖动的现象
mGestureDetector。setIsLongpressEnabled(false);

public boolean onTouchListener(MotionEvent event){
//接管onTouchEvent()方法
 boolean consume = mGestureDetector。onTouchListener(event);
return consume;
}
//.......
 }
在Activity中,让GestureDetector接管某个VIew的onTouchEvent(),首先为View设置onTouchListener;然后在让GestureDetector接管onTouchListener,代码如下:

mTouchListener = new View.onTouchListener(){
boolean onTouch(View v, MotionEvent event){
//GestureDetector的初始化参考上面的代码
      mGestureDetector.onTouchListener(event);
}

//TouchListener优先于View的onTouchEvent()方法。
view.setOnTouchListent(mTouchListener);
}

下面介绍GestureDetector中的两个内部接口 onGestureListener和onDoubleTaplistener:

OnGestureListener 接口 的公共方法

 

abstract boolean onDown(MotionEvente)
当轻触手势按下屏幕 时发生的事件。
手指轻轻触摸屏幕一瞬间,由一个ACTION_DOWN触发
abstract boolean onFling(MotionEvent e1,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值