GestureDetector——手势探测器
android.view.GestureDetector
  android.view.GestureDetector.SimpleOnGestureListener
  (另外android.widget.Gallery好像是更牛x的OnGestureListener )
  1)新建一个类继承SimpleOnGestureListener,HahaGestureDetectorListener
  可以实现以下event事件。

  boolean onDoubleTap(MotionEvent e)
  解释:双击的第二下Touch down时触发

  boolean onDoubleTapEvent(MotionEvent e)
  解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。

  boolean onDown(MotionEvent e)
  解释:Touch down时触发

  boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
  解释:Touch了滑动一点距离后,up时触发。

  void onLongPress(MotionEvent e)
  解释:Touch了不移动一直Touch down时触发

  boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
  解释:Touch了滑动时触发。

  void onShowPress(MotionEvent e)
  解释:Touch了还没有滑动时触发

  (与onDown,onLongPress比较
  onDown只要Touch down一定立刻触发。
  而Touchdown后过一会没有滑动先触发onShowPress再是onLongPress。
  所以Touchdown后一直不滑动,onDown->onShowPress->onLongPress这个顺序触发。
  )
  boolean onSingleTapConfirmed(MotionEvent e)
  boolean onSingleTapUp(MotionEvent e)
  解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。

  点击一下非常快的(不滑动)Touchup:
  onDown->onSingleTapUp->onSingleTapConfirmed

  点击一下稍微慢点的(不滑动)Touchup:
  onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

  2)在view的新建一个GestureDetector的对象。
  构造函数里 gestureDetector = new GestureDetector(new HahaGestureDetectorListener());
  然后在View的onTouchEvent里以下这样用,就可以在刚才1)弄的事件里写自己的代码了。

  @Override
  public boolean onTouchEvent(MotionEvent event) {
  gestureDetector.onTouchEvent(event);
  }
  但是,郁闷的是SimpleOnGestureListener没有提供onUp(), 还得在View的
  onTouchEvent的
  case MotionEvent.ACTION_UP:
  里来写对应的代码。

更多相关文章

  1. android调节系统音量
  2. Android中ViewPage的使用
  3. Android(安卓)scrollview嵌套listview 滑动事件冲突的解决方法
  4. TextView跑马灯效果
  5. Android之ViewFlipper的使用与ListView的分页加载
  6. Android控制ScrollView滑动速度
  7. android SeekBar(带滑动块的进度条)的应用举例
  8. Android(安卓)滑动效果代码分享
  9. TextView 在xml文件中的解释

随机推荐

  1. 面试java不知道Vector?恐怕要重在参与了
  2. 操作系统面试题汇总(找工作必备)
  3. 使用Android中sqlite表的全文检索
  4. Babel快速指南
  5. [Android]笔记10-单选按钮和复选框的功能
  6. Android在标准linux基础上对休眠唤醒的实
  7. ES2016
  8. Android(安卓)使用Post方式提交数据
  9. Android(安卓)如何建立AIDL
  10. 包装模式就是这么简单啦