首页 > 代码库 > Android Gesture 手势识别
Android Gesture 手势识别
手势识别
实现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。
Android Gesture 手势识别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。