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 是我定一个的一个屏蔽滑动的开关。方便以后动态改变是否禁止。

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

 

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

你可能感兴趣的:(android)