Android setOnTouchListener识别滑动手势

 1 setOnTouchListener(new OnTouchListener() {
 2             private float startX, startY, offsetX, offsetY;
 3 
 4             @Override
 5             public boolean onTouch(View v, MotionEvent event) {
 6                 switch (event.getAction()) {
 7                 case MotionEvent.ACTION_DOWN:
 8                     startX = event.getX();
 9                     startY = event.getY();
10                     break;
11                 case MotionEvent.ACTION_UP:
12                     offsetX = event.getX() - startX;
13                     offsetY = event.getY() - startY;
14                     if (Math.abs(offsetX) > Math.abs(offsetY)) {
15                         if (offsetX < -5) { // left
16                             swipeLeft();
17                         } else if (offsetX > 5) { // right
18                             swipeRight();
19                         }
20                     } else {
21                         if (offsetY < -5) { // up
22                             swipeUp();
23                         } else if (offsetY > 5) { // down
24                             swipeDown();
25                         }
26                     }
27                     break;
28                 default:
29                     break;
30                 }
31                 return true;
32             }
33         });

 

posted @ 2015-11-30 09:46  如梦真心  阅读(2749)  评论(0编辑  收藏  举报