Android里有两个类
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. TextView --- 内容设置成上下滑动 和 代码设置字体颜色
  3. Android中点击按钮的事件处理实现步骤
  4. android —— 自定义控件 竖向的ViewPager,上下滑动的组件,android
  5. android手势滑动——左右滑动效果实现
  6. Android(安卓)TV listView焦点平滑移动
  7. 丰富多彩的Android(安卓)onTouch事件
  8. 2011.08.30——— android setOnTouchListener onTouchEvent
  9. 2011.08.30——— android setOnTouchListener onTouchEvent

随机推荐

  1. android 自动接听原码
  2. Android开发问题记录——“The connectio
  3. Android(安卓)GPS学习 (二) :GPS 服务启动
  4. Downloadmanager in android
  5. Android:创建快捷方式
  6. android图片圆角、图片去色处理示例
  7. Android官方入门文档[11]支持不同平台版
  8. Android 5.1.1 Error inflating class an
  9. Android(安卓)studio新建activity运行出
  10. 笔记-LinearLayout设置selector不起作用