默认情况下,当您在ViewPager上滑动时,您可以滑动尽可能多的页面,直到手指到达屏幕的末尾。那么,无论用户刷了多少,是否可以强制ViewPager只允许一次页面更改?
这就是我的意思是在你的手指到达屏幕的末端之前滑过寻呼机:
这就是我的意思,即锁定ViewPager一次只允许单个页面滑动:
感谢。
答案 0 :(得分:1)
好的,我认为答案是:延长ViewPager
并覆盖onTouchEvent(MotionEvent ev)
。
private Rect viewRect = new Rect();
@Override
public boolean onTouchEvent(MotionEvent event) {
getHitRect(viewRect);
if (viewRect.contains(
Math.round(view.getX() + event.getX()),
Math.round(view.getY() + event.getY()))) {
// touch is inside, do normal behavior
return super.onTouchEvent(event);
} else {
// touch is outside, consume the event & do nothing
return true;
}
}
不幸的是,现在没有时间真正测试它,我稍后会更新。
答案 1 :(得分:1)
最后,我最终在适配器中进行了操作。我所做的是在2
方法中返回getCount
,在选择后重新排列项目,并在使用当前位置(0或1)访问数据集中的项目时专门处理案例。 / p>