ViewPager左右滑动与SwipeRefreshLayout下拉刷新冲突

来源:互联网 发布:thinkphp3.2案例源码 编辑:程序博客网 时间:2024/03/29 14:35

ViewPager有个监听事件的回调方法,vPager.setOnPageChangeListener(this); 

复写public void onPageScrollStateChanged(int arg0)   

 

此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0的时辰默示什么都没做。

 

当页面开始滑动的时候,三种状态的变化顺序为(1,2,0)


所以可以判断viewPager目前的状态来控制SwipeRefreshLayout是否可滑。


@Override
    public void onPageScrollStateChanged(int arg0) {
       enableDisableSwipeRefresh(arg0 == ViewPager.SCROLL_STATE_IDLE);
    }

    protected void enableDisableSwipeRefresh(boolean enable) {
            if (swipe_container != null) {
            swipe_container.setEnabled(enable);
            }
        }

3 0
原创粉丝点击