手势识别

实现OnGestureListener, OnTouchListener接口

class MyView extend LinearLayout implements OnGestureListener, OnTouchListener {    public MyView(Context context) {        this.setOnTouchListener(this);// 将本类绑定触屏监听器        GestureDetector gd = new GestureDetector(this);    }        //先经过gd.onTouchEvent(event)事件判断,    //执行手势则不执行父类onTouch(View v, MotionEvent event)事件    @Override    public boolean onTouch(View v, MotionEvent event) {        return gd.onTouchEvent(event);    }        // --------------以下是使用OnGestureListener手势监听的时候重写的函数---------    /**     * @以下方法中的参数解释:     * @e1:第1个是 ACTION_DOWN MotionEvent 按下的动作     * @e2:后一个是ACTION_UP MotionEvent 抬起的动作(这里要看下备注5的解释)     * @velocityX:X轴上的移动速度,像素/秒     * @velocityY:Y轴上的移动速度,像素/秒     */    @Override    public boolean onDown(MotionEvent e) {        // ACTION_DOWN        return false;    }    @Override    // ACTION_DOWN 、短按不移动    public void onShowPress(MotionEvent e) {    }        @Override    // ACTION_DOWN 、长按不滑动    public void onLongPress(MotionEvent e) {    }        @Override    // ACTION_DOWN 、慢滑动    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,            float distanceY) {        return false;    }        @Override    // ACTION_DOWN 、快滑动、 ACTION_UP    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,            float velocityY) {        v_str.add("onFling");        //-------e1是MotionEvent.ACTION_DOWN, e2是MotionEvent.ACTION_UP----------        // if(e1.getAction()==MotionEvent.ACTION_MOVE){        // v_str.add("onFling");        // }else if(e1.getAction()==MotionEvent.ACTION_DOWN){        // v_str.add("onFling");        // }else if(e1.getAction()==MotionEvent.ACTION_UP){        // v_str.add("onFling");        // }        // if(e2.getAction()==MotionEvent.ACTION_MOVE){        // v_str.add("onFling");        // }else if(e2.getAction()==MotionEvent.ACTION_DOWN){        // v_str.add("onFling");        // }else if(e2.getAction()==MotionEvent.ACTION_UP){        // v_str.add("onFling");        // }        return false;    }    @Override    // 短按ACTION_DOWN、ACTION_UP    public boolean onSingleTapUp(MotionEvent e) {        return false;    }}

这只是一个简单的例子,Android Simples中有个完整的例子:Gestures Builder。

更多相关文章

  1. android 定时器 timer简单例子
  2. Android之Gallery使用例子
  3. Android 随手势进行3D旋转的源码
  4. android 上下左右手势判断 根据别人的改的
  5. Android自定义view四手势缩放移动的ImageView
  6. Android作业:手势识别
  7. android sqlite和listview 使用小例子
  8. Android 图片手势缩放自定义View
  9. android notification 的例子

随机推荐

  1. Android中使用ormlite实现持久化(一)--He
  2. android 4.0.4系统下实现apk的静默安装和
  3. Android 显示原理简介
  4. 《Ophone应用开发权威指南》学习:Android(
  5. android studio基础教程:3.美化按钮
  6. 关于界面布局的一些小知识
  7. Android 自动编译、打包生成apk文件 3 -
  8. ViewStub的使用
  9. 几个Android控件属性笔记
  10. 译:Android(安卓)N不再支持通过Intent传递