触摸屏的一个好处就是全屏都看控。所有识别滑动手势就显得很有用,用户也很乐意使用这样的手势。
这里用做记录,只实现了四个方向的滑动识别,根据不同的需求可以重载不同的函数
@Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub return this.gestureDetector.onTouchEvent(event); } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } /* *滑动识别 */ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) { if(e1.getX()-e2.getX()>120)识别长度,滑动超过120识别为有效滑动 { tx.setText("Left"); //game.toLeft(); return true; } else if(e1.getX() - e2.getX()<-120) { tx.setText("Right"); //game.toRight(); return true; } else if(e1.getY() - e2.getY()>120) { tx.setText("Up"); //game.toUp(); return true; }else if(e1.getY() - e2.getY()<-120) { tx.setText("Down"); //game.toDown(); return true; } return false; } @Override public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; }
上面这些函数系统自带的函数,可以根据函数名辨别
也可根据需求实现复杂的手势识别。