我正在尝试使用ViewPager来显示不同的视图。
以下是我用于检查是否向左或向右滑动的代码
myPager.setOnTouchListener(new ViewPager.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
mStartDragX = x;
break;
case MotionEvent.ACTION_MOVE:
if (event.getX() > mStartDragX ) {
Log.i(TAG,"SWIPING RIGHT");
} else if (event.getX() < mStartDragX) {
Log.i(TAG,"SWIPING LEFT");
}
break;
}
return false;
}
});
因此,当我开始从右向左或从右向左滑动时,它会向我显示正确的日志消息。
但如果我开始从右向左滑动并同时再次从左向右滑动,我如何识别当前是否向哪个方向滑动?
有人可以帮忙吗?
由于
答案 0 :(得分:2)
然后做这样的事情......
case MotionEvent.ACTION_MOVE:
if (event.getX() > mStartDragX) {
Log.i(TAG, "SWIPING RIGHT");
mStartDragX = event.getX();
} else if (event.getX() < mStartDragX) {
Log.i(TAG, "SWIPING LEFT");
mStartDragX = event.getX();
}
在这里,我将当前位置再次保存到旧位置,因此无论何时向后滑动都会给出正确的结果..