首先实现监听对象 GestureDetector.OnGestureListener,根据x或y轴前后变化坐标来判断是左滑动还是右滑动并根据不同手势滑动做出 事件处理doResult(int action),
然后覆写onTouchEvent方法,在onTouchEvent方法中将event对象传给gestureDetector.onTouchEvent(event);处理。
Activity
import android.view.GestureDetector; public class MainActivity extends TabActivity implements OnClickListener { final int RIGHT = 0; final int LEFT = 1; private GestureDetector gestureDetector; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.main); gestureDetector = new GestureDetector(MainActivity.this,onGestureListener); } private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { float x = e2.getX() - e1.getX(); float y = e2.getY() - e1.getY(); if (x > 0) { doResult(RIGHT); } else if (x < 0) { doResult(LEFT); } return true; } }; public boolean onTouchEvent(MotionEvent event) { return gestureDetector.onTouchEvent(event); } public void doResult(int action) { switch (action) { case RIGHT: System.out.println("go right"); break; case LEFT: System.out.println("go left"); break; } } }