我在我的应用程序中使用viewpagerIndicator,我有200页。是否可以在最后一页之前禁用“滑动1”页面?
示例我的当前页面是199这里刷卡是disble并且从不更改为下一页,只有前一页。
编辑:我在Tabindicator中有一个日历,页面显示一天的信息,我需要显示第二天但不刷卡因为不存在信息因此我需要禁用此页面。< / p>
考试:
19 /前/ 2014 | 20 /前/ 2014 | 21 /前/ 2014
之前|当前|最后一页
之前我可以向左和向右滑动,但在当前我只需要向左滑动并禁用右侧是可能的吗?
答案 0 :(得分:0)
您可以从适配器返回199来自viewcager不知道有200页的适配器。
编辑:
那么在这种情况下,你必须覆盖viewpager并在viewpager显示倒数第二页时手动禁用动作。 它看起来像这样 首先扩展:类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);
}
}