CusGestureDetector

来源:互联网 发布:mac 如何卸载软件 编辑:程序博客网 时间:2024/05/27 19:25

CusGestureDetector使用笔记:一共分为三步:

1、申明

/** * 外加内容:手势识别器 *///1、申明private GestureDetector mGestureDetector;

2、初始化手识别器,注册手势识别的监听器

//2、初始化手识别器,注册手势识别的监听器mGestureDetector = new GestureDetector(this, new CusGestureDetector());

/** * 手势识别的监听器 */class CusGestureDetector implements GestureDetector.OnGestureListener {@Overridepublic boolean onDown(MotionEvent e) {return false;}@Overridepublic void onShowPress(MotionEvent e) {}@Overridepublic boolean onSingleTapUp(MotionEvent e) {return false;}@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {return false;}@Overridepublic void onLongPress(MotionEvent e) {}/** * fling:猛动 * 用户在屏幕上手指乱动(滑动)的时候调用的方法 * e1:第一次按下接触屏幕的事件 * e2:手指离开屏幕的对应的事件 * velocityX: 水平方向的速度 单位:像素/秒 * velocityY: 垂直方向速度 单位:像素/秒 * return:true事件终止, false事件传递 */@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {/** * 根据Android屏幕特别,e2 - e1 》 200,手指往右滑动,前一页,其他依次类推 * 过滤:如果垂直方向数值过多,则无效动作 */float yDistance = Math.abs(e2.getRawY() - e1.getRawY());//过滤Y方向if (yDistance < 100) {if (e1.getRawX() - e2.getRawX() > 200) {//手指左滑动,下一页ToastUtil.showMessage("下一页");return true;}if (e2.getRawX() - e1.getRawX() > 200) {//手指右滑动,上一页ToastUtil.showMessage("上一页");return true;}}return false;}}


3、把触摸事件传递给手势识别器

/** * 触摸屏幕时候调用 */@Overridepublic boolean onTouchEvent(MotionEvent event) {//3.把触摸事件传递给手势识别器mGestureDetector.onTouchEvent(event);return super.onTouchEvent(event);}










0 0
原创粉丝点击