在 Android 中,提供单向水平导航的最佳方式是什么?为了设定期望,我在两个月前开始编写 Android 应用程序。
在我的情况下,我有一个屏幕大小的图像列表,用户将一一看到。要查看下一张图像,用户必须向左滑动(从右到左运动)。一旦看到图像,用户就不能返回,因此必须禁用右滑动(从左到右运动)。
我使用了自定义 ViewPager 来实现这一点,其中我覆盖了 onTouchEvent 方法,如下所示:
@Override
public boolean onTouchEvent(MotionEvent ev) {
boolean lockScroll = false;
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
lastX = ev.getX();
return super.onTouchEvent(ev);
case MotionEvent.ACTION_MOVE:
if (lastX >= ev.getX()) {
lockScroll = false;
} else {
lockScroll = true;
}
lastX = ev.getX();
break;
}
if (lockScroll) {
return false;
} else {
return super.onTouchEvent(ev);
}
}
这主要工作。我的意思是几乎总是正确的滑动被阻止,但在某些情况下它会发生,我无法弄清楚为什么。任何线索,问题可能出在哪里,或者有没有其他方法可以处理这种情况?
谢谢!