我在我的应用程序中使用viewpagerIndicator,我有200页。是否可以在最后一页之前禁用滑动1页?
示例我的当前页是199,这里的滑动是禁用的,永远不会改变到下一页,只有前几页。
EDIT:我在Tabindicator中有一个日历,页面显示一天的信息,我需要显示第二天但不滑动,因为不存在信息,因此我需要禁用此页面。
考试:19/ago/2014 | 20/ago/2014 | 21/ago/2014
before |Current |Last Page
在我可以向左和向右滑动之前,但在当前我只需要向左滑动和禁用右是可能的吗?
你可以从适配器的getCount()返回199,这样viewpager就不会知道有200个页面。
编辑:在这种情况下,您必须手动覆盖:viewpage和禁用运动时:viewpage第二最后一页。它看起来是这样的首先扩展:类CustomViewPager扩展ViewPager{…}
float lastX;
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if(getCurrentItem() == getAdapter().getCount()-1){
if(ev.getAction() == MotionEvent.ACTION_DOWN){
lastX = ev.getX();
// Just touch down let viewpager also handle touch event
return super.onInterceptTouchEvent(event);
}
else if(ev.getAction() == MotionEvent.ACTION_MOVE){
float xDiff = ev.getX() - lastX;
if(xDiff > 0){
// Attempt to move right on second last page
// Return false, we dont want to handle this movement
return false;
}
else{
// Left you can move
return super.onInterceptTouchEvent(event);
}
}
// Notice that we are not updating lastX on motion towards left
// This is to enable user can swipe towards left a bit and comeback, but dont dare go right
}
else{
// Not on second last page let viewpager handle page event
return super.onInterceptTouchEvent(event);
}
}