禁止ViewPager左右滑动

最近在做一个二手校园交易平台的毕设,想达到仿咸鱼的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....

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值