最近在做一个二手校园交易平台的毕设,想达到仿咸鱼的tab效果。目前效果:
但是咸鱼的是不可以左右滑动的,怎么禁止ViewPager左右滑动呢?
建一个ViewPager的子类,重写它的 onInterceptTouchEvent 和 onTouchEvent方法:
package com.up.uwei.shshop.view;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class NoSwipeViewPager extends ViewPager {
private boolean canSwipe = true;
public NoSwipeViewPager(Context context, AttributeSet attributeSet){
super(context, attributeSet);
}
public void setCanSwipe(boolean canSwipe)
{
this.canSwipe = canSwipe;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return canSwipe && super.onTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return canSwipe && super.onInterceptTouchEvent(ev);
}
}
接着在布局里使用NoSwipeViewPager:
然后在Activity里通过findById拿到我们的NoSwipeViewPAger,接着调用:
然后运行结果:
ok,已经不能左右滑动,只能通过替补tab来控制,
但是有一个问题,每次切换fragment都有一个动画,比如从 “导航” 到 “我的”,中间有动画,不想要怎么办?
答:
mViewPager.setCurrentItem(3, false);
最后运行结果:
嘿嘿,over....