所谓手势,其实是指用户手指货触摸笔在触摸屏上的连续触碰行为。
1、手势检测
Android为手势检测提供了一个GestureDetector类,表示手势检测器
步骤:1、创建一个GestureDetector对象 ,实现OnGestureListener实例
//创建手势监听器
GestureDetector detector=new GestureDetector(getActivity(), new GestureDetector.OnGestureListener() {
//触碰按下时监听
@Override
public boolean onDown(MotionEvent e) {
return false;
}
//当用户在触摸屏上按下、而且还未移动和松开时触发
@Override
public void onShowPress(MotionEvent e) {
}
//用户在触摸屏上的轻击事件触发
@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
//用户在屏幕上滚动时触发 distanceX,distanceY、纵向的距离
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
//用户在屏幕上长按时触发
@Override
public void onLongPress(MotionEvent e) {
}
//用户在触摸屏上拖过时触发 velocityX,velocityY在横向、纵向的速度
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
return false;
}
});
2、为应用程序的Activity或特定组件的TouchEvent事件绑定监听器,在事件处理中指定把Activity或特定组件的TouchEvent事件交给GestureDetector处理
//检测Textview的触摸事件,并把其转交给GestureDetector处理
textView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return detector.onTouchEvent(event);
}
});