android中的touch处理的非常好,使用起来非常方便,收集一些资料,分享如下:

Android里有两个类
android.view.GestureDetector
android.view.GestureDetector.SimpleOnGestureListener

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比较 nDown只要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);
}

本资源出处:因当初是把内容复制下来放在文本文件中,故出处暂丢失,以后见到再补上

更多相关文章

  1. android 屏幕监听滑动事件
  2. Android(安卓)自定义控件打造史上最简单的侧滑菜单
  3. android 抽屉式滑动demo
  4. Android(安卓)DrawerLayout 侧边栏使用之道
  5. Android(安卓)Gesture Detector
  6. 【Android(安卓)UI设计与开发】之具体解释ActionBar的使用
  7. android中控件的大部分属性解释
  8. Android滑动冲突二内部拦截法详情
  9. Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式

随机推荐

  1. 3阶(次)贝塞尔曲线的JavaScript(JS)实现
  2. Ajax 添加删除修改
  3. 滚动条在css上的注意点
  4. 京东秒杀区
  5. 演示文本操作、演示样式属性操作 、演示
  6. MVC-安装jQuery的npm和yarn的方法
  7. flex 容器和项目 常用属性
  8. 微信JSSDK签名
  9. JavaScript基础了解
  10. 07-12作业