首先,要监听滑动事件,要有这么几行代码:
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()方法。