Viewpager禁止滑动

博客围绕登录时用ViewPager加载两个布局并屏蔽滑动的需求展开。介绍了实现思路为控制ViewPager的事件,包括事件分发、拦截和消费。还提到自定义ViewPager,设置屏蔽滑动开关方便动态改变是否禁止滑动。

 

 

今天遇到一个这样的需求,登陆的时候分两个角色  而两个角色的登录内容分开。也就是各写各的登录信息。

想到了共用一个布局可是发现共用一个数据处理很麻烦。

所以决定用viewpager来加载两个布局,屏蔽掉滑动的方式来实现。

思路:控制viewpager的事件

DispatchTouchEvent(MotionEvent ev); 事件分发 
OnInterceptTouchEvent(MotionEvent ev); 事件拦截 
OnTouchEvent(Motion ev); 事件消费 

Tab我选用的是第三方的

SlidingTabLayout 功能很强大,喜欢的小伙伴可以去试试。

有了Tab 那么我们就差一个不能滑动的viewpager了

首先我们新写一个自定义的viewpager名字就叫

NoScrollViewPager  一个不能滑动的viewpager

 让viewpager 不能滑动无非就是控制事件的消费以及拦截

其他代码不发了,就是继承viewpager 实现父类的基本方法 ,重点发下对事件的处理

 @Override
    public boolean onTouchEvent(MotionEvent arg0) {
        if (noScroll)
            return false;
        else
            return super.onTouchEvent(arg0);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        if (noScroll)
            return false;
        else
            return super.onInterceptTouchEvent(arg0);
    }

这里的noScroll 是我定一个的一个屏蔽滑动的开关。方便以后动态改变是否禁止。

功能很简单,学到的小伙伴点个赞。

 

我是影子,但是光越亮影子就越深,更能显出光的明亮          -----黑子はボクです

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值