UltraPtr 下拉刷新说明

首先贴下github地址
https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh

其次说明
我们使用其中的in.srain.cube.views.ptr.PtrFrameLayout 效率是最高的,不推荐使用它的经典布局。

实现思路》》》

1 声明布局,布局为PtrFrameLayout,内部可以包含一个任意视图
2.设置PtrUIHandler(下拉刷新的布局),默认的有StoreHouseHeader(文字的效果很好看),还有一个PtrClassicHeader(最经典的下拉刷新),可以自定义布局的。
3.设置PtrHandler , 对下拉刷新生命周期的监听

tip:PTRHandler内部有一个checkCanDoRefresh()的实现方法,表示当前是否可以通过下拉来显示下拉刷新的效果。

所以我们需要监听Listview 或者 RecycleView 的滑动到顶部的事件来改变checkCanDoRefresh的返回值

怎么监听?Listview和RecycleView是一样的

listView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                if(scrollState == SCROLL_STATE_IDLE){
                    View first = view.getChildAt(0);
                    if(first.getTop()==0){
                        candoPull = true;
                        //在顶部
                    }else{
                        candoPull = false;
                    }
                }
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

            }
        });

ScrollView需要判断getScrollY()就OK了,

是不是很简单

你可能感兴趣的:(UltraPtr 下拉刷新说明)