android在指定区域监听滑动事件

来源:互联网 发布:mac开机白屏问号修复 编辑:程序博客网 时间:2024/04/26 22:39

首先,要监听滑动事件,要有这么几行代码:

GestureDetector gestureDetector=new GestureDetector(this);

然后要求继承GestureDetector.OnGestureListener这个接口,还要求实现下列方法:

 @Override    public boolean onDown(MotionEvent e) {        return false;    }    @Override    public void onShowPress(MotionEvent e) {    }    @Override    public boolean onSingleTapUp(MotionEvent e) {        return false;    }    @Override    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {        return false;    }    @Override    public void onLongPress(MotionEvent e) {    }    @Override    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {        return false;    }

当手指在屏幕上做不同的操作(例如长按、滑动、双击等)会触发不同的方法,这个我记录在一本笔记本上了,现在人在外面,等回去之后再记录在这里。

要想实现在指定区域监听滑动事件的效果,首先要获取指定区域的坐标(假设是一个按钮v),那么就要用v.getX()、v.getRawX()或v.getLeft()
那么这三者有什么区别呢?
区别如下:
这里写图片描述
如图,要是想实现只有在该按钮上滑动才会有产生相应效果的话,最好使用的是getLeft()方法。

0 0