在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);
}
}
这主要起作用。我的意思是几乎总是正确的滑动被阻止但在某些情况下它发生,我无法弄清楚为什么。 任何线索,可能是问题还是有其他方法来处理这种情况?
谢谢!
答案 0 :(得分:2)
欢迎来到Android开发!您将很快学到的一件事就是永远不会实现已经可用的开源软件。我建议使用https://github.com/nostra13/Android-Universal-Image-Loader的图库功能,它会看起来好多了,如果你或我自己制作它会更加强大。
答案 1 :(得分:1)
看看ViewPager#canScrollHorizontally。它是压倒一切的主要候选人。