最简单的方法是通过检测“Fling”手势。 android API有一个内置的检测器,用于基本手势,如抛掷,滚动,长按,双击,缩放等。
你要做的是创建一个GestureDetector的实例,覆盖你感兴趣检测手势的视图的onTouchEvent方法,并将MotionEvent传递给GestureDetector。
您还必须提供一个OnGestureListener实现(最简单地将SimpleOnGestureListener扩展)到GestureDetector并且将处理所有的手势事件。
例子:
class MyView extends View
{
GestureDetector mGestureDetect;
public MyView(Context context)
{
super(context);
mGestureDetect = new GestureDetector(new SimpleOnGestureListener()
{
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
//check if the fling was in the direction you were interested in
if(e1.getX() - e2.getX() > 0)
{
//Do something here
}
//fast enough?
if(velocityX > 50)
{
//etc etc
}
return true;
}
}
}
public boolean onTouchEvent(MotionEvent ev)
{
mGestureDetector.onTocuhEvent(ev);
return true;
}
}