android-Ultra-Pull-to-Refresh的坑

1 问题描述
https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh/issues/133
在使用ptrfragmelayout 里面有scrollview,里面嵌套了recycle view和view pager的时候,左右横滑变得极为困难。

2 解决

先看一下作者对控件的简单介绍:
https://www.liaohuqiu.net/cn/posts/the-pull-to-refresh-in-my-eyes/

这个是别人对其源码的解析
https://github.com/grumoon/docs/tree/master/android-Ultra-Pull-To-Refresh

然后是找到的2个解决方案,我用了第一个
https://github.com/pip1998/android-Ultra-Pull-To-Refresh/commit/83531bf678c9db1b5f5f97b3caecddb671f178b5#diff-4c75de2c2057706468b3f5cbf30f67f1
https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh/pull/181

除了用了第一个代码意外,如果你嵌套的是view pager的话,还可以加上这样的判断
new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}

        @Override
        public void onPageSelected(int position) {
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            if (state == ViewPager.SCROLL_STATE_IDLE) {
                canRefresh = true;
            } else {
                canRefresh = false;
            }
        }
    }

然后再加上
@Override
public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
return canRefresh && PtrDefaultHandler.checkContentCanBePulledDown(frame, scrollview, header);
}

我自己fork的地址
https://github.com/dingbuoyi/android-Ultra-Pull-To-Refresh

改善了问题描述里的情况,另外就是增加了onReleaseListener接口

    原文作者:dingbuoyi
    原文地址: https://www.jianshu.com/p/cac9dcacf3d1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞