如何阻止viewpager仅向一个方向滚动。例如,仅允许向右滑动,但不允许滑动到左侧。我绝对卡住,任何帮助将不胜感激。要注意我需要让它适用于Android 2.2版,所以我使用的是兼容性库,用于ViewPager。
提前致谢
答案 0 :(得分:7)
您必须创建自己的ViewPager,扩展原始ViewPager并覆盖onTouchEvent方法
public class CustomViewPager extends ViewPager {
float lastX = 0;
boolean lockScroll = false;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomViewPager(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = ev.getX();
lockScroll = false;
return super.onTouchEvent(ev);
case MotionEvent.ACTION_MOVE:
if (lastX > ev.getX()) {
lockScroll = false;
} else {
lockScroll = true;
}
lastX = ev.getX();
break;
}
lastX = ev.getX();
if(lockScroll) {
return false;
} else {
return super.onTouchEvent(ev);
}
}
}