android滑动事件监听

android中滑动事件是非常常用的,无论是游戏中还是普通的APP中应用都非常广泛,下面来看下他的代码是如何实现的,其代码如下

private void touchlistenner() {
        setOnTouchListener(new OnTouchListener() {//滑动进行监听
            private float startX,startY,offSetX,offSetY;
            //定义四个变量来记录触摸点下,和离开屏幕的点
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    //记录点下屏幕的位置
                    startX=event.getX();
                    startY=event.getY();
                    break;
                case MotionEvent.ACTION_UP:
                //记录离开屏幕的位置
                    offSetX=event.getX()-startX;
                    offSetY=event.getY()-startY;
                    if (Math.abs(offSetX)>Math.abs(offSetY)) {
                        if (offSetX<-5) {
                            swipeLeft();
                        }else if (offSetX>5) {
                            swipeRight();
                        }
                    }else {
                        if (offSetY<-5) {
                            swipeUp();
                        }else if (offSetY>5) {
                            swipeDown();
                        }
                    }

                default:
                    break;
                }

                return true;
            }
        });
    }
    //下面的四个方法是响应相应的事件的
    private void swipeLeft() {
        System.out.println("left");
    }
    private void swipeRight() {
        System.out.println("right");
    }
    private void swipeUp() {
        System.out.println("up");
    }
    private void swipeDown() {
        System.out.println("down");
    }

你可能感兴趣的:(android滑动事件监听)