ptrload

Project Url: wcy10586/ptrload
Introduction: 一款下拉刷新以及上拉加载的控件库,扩展性强,使用简单。并附带有可以添加 header 和 footer 的 Recyclerview
More: Author   ReportBugs   
Tags:
下拉刷新-RecyclerView-

一款可以自定义 header 以及 footer 的下拉刷新和上拉加载库,可以实现对任意 View 的下拉刷新和上拉加载,目前仅实现了 RecyclerView。 是满足 list、gride 以及 staggred 形式的。 这是一款基于 Ptr 实现的下拉加载和上拉刷新功能的控件库,自定义性强,可以根据自己的需要自定义刷新的头部,以及加载得 footer。 同时 加载的 footer 支持两种风格和三中模式。两种风格:1.类似于 QQ 的,当 footer 显示了之后 继续往上拖动 才会加载。2.当 footer 显示后立即加载。 三中模式:1.加载的 footer 无论在数据是否满屏情况下都会显示,2.加载的 footer 只有在数据满屏之后才会显示,3.加载的 footer 一直都不显示。

使用方式

<com.ptr.refresh.ptr.view.PullRefreshRecyclerView
    android:id="@+id/ptr_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></com.ptr.refresh.ptr.view.PullRefreshRecyclerView>


    PtrLoadMoreLayout loadMoreLayout = pullRefreshRecyclerView.getPtrLayout();
    loadMoreLayout.setLoadMoreStyle(Constant.LOAD_STYLE_OVER);
    RecyclerView recyclerView = pullRefreshRecyclerView.getRecyclerView();
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setAdapter(adapter);
    pullRefreshRecyclerView.setLoadMoreType(Constant.LOAD_SHOW_BY_CONTENT);

    pullRefreshRecyclerView.setLoadMoreStyle(Constant.LOAD_STYLE_OVER);//默认是 LOAD_STYLE_NORMAL

    pullRefreshRecyclerView.setOnRefreshListener(new OnRefreshListener() {
        @Override
        public void onRefresh() {
            pullRefreshRecyclerView.setLoadMoreEnable(false);
            pageNum = 1;
            adapter.setData(getDdata());

            pullRefreshRecyclerView.refreshComplete();
            pullRefreshRecyclerView.setLoadMoreEnable(true);
            pageNum++;
        }
    });


    pullRefreshRecyclerView.setOnLoadMoreListener(new OnLoadMoreListener() {
        @Override
        public void onLoadMore() {
            adapter.addItems(getDdata());
            pageNum += 1;

            pullRefreshRecyclerView.onLoadMoreCompleted(true,true);
        }
    });

      pullRefreshRecyclerView.setRefreshEnable(false);//设置是否可以下拉刷新,默认是 true
       pullRefreshRecyclerView.setLoadMoreEnable(true);//设置是否可以加载更多,默认是 true


    在自定义 Header 时候可以参考 DefaultPullRefreshHeader;自定义 footer 时候可以参考 DefaultLoadMoreUIHandler;

     pullRefreshRecyclerView.setEmptyView(View view); 可以设置一个数据无数据状态的 View,无数据的 View 会根据 Adapter 中数据的变化而自动显示或者隐藏。
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools