实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示
Java
Latest commit 5c5f3ca Dec 15, 2016 @WuXiaolong committed on GitHub Update README.md
Permalink
Failed to load latest commit information.
.idea 1.1.1 Sep 6, 2016
app 1.1.2 Nov 28, 2016
gradle/wrapper 1.1.2pro Nov 25, 2016
library 1.1.2pro Nov 25, 2016
screenshots 1.1.2 Nov 28, 2016
.gitignore No adapter attached Jan 20, 2016
README.md Update README.md Dec 15, 2016
build.gradle 1.1.2pro Nov 25, 2016
gradle.properties Initial commit Jul 2, 2015
gradlew Initial commit Jul 2, 2015
gradlew.bat Initial commit Jul 2, 2015
settings.gradle library Jul 6, 2015

README.md

实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示。如果你只需要简单地实现下拉刷新和上拉加载效果,不需要定制,那PullLoadMoreRecyclerView最适合不过。

效果预览

使用方法

build.gradle文件

dependencies {
  compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.1.2'
}

xml引用

 <com.wuxiaolong.pullloadmorerecyclerview.PullLoadMoreRecyclerView
        android:id="@+id/pullLoadMoreRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

设置线性布局

 mPullLoadMoreRecyclerView = (PullLoadMoreRecyclerView) view.findViewById(R.id.pullLoadMoreRecyclerView);
 mPullLoadMoreRecyclerView.setLinearLayout();

设置网格布局

 mPullLoadMoreRecyclerView.setGridLayout(2);//参数为列数

设置交错网格布局,即瀑布流效果

 mPullLoadMoreRecyclerView.setStaggeredGridLayout(2);//参数为列数

绑定适配器

  mRecyclerViewAdapter = new RecyclerViewAdapter();
  mPullLoadMoreRecyclerView.setAdapter(mRecyclerViewAdapter);

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {

    public RecyclerViewAdapter() {

    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_item, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

    }

    @Override
    public int getItemCount() {
        return 0;
    }

    public class ViewHolder extends RecyclerView.ViewHolder {

        public ViewHolder(View itemView) {
            super(itemView);

        }
    }
}

调用下拉刷新和加载更多

 mPullLoadMoreRecyclerView.setOnPullLoadMoreListener(new PullLoadMoreRecyclerView.PullLoadMoreListener() {
            @Override
            public void onRefresh() {

            }

            @Override
            public void onLoadMore() {

            }
        });

刷新结束

mPullLoadMoreRecyclerView.setPullLoadMoreCompleted();

其他方法

显示下拉刷新

mPullLoadMoreRecyclerView.setRefreshing(true);

不需要下拉刷新

mPullLoadMoreRecyclerView.setPullRefreshEnable(false);

不需要上拉刷新

mPullLoadMoreRecyclerView.setPushRefreshEnable(false);

设置上拉刷新文字

mPullLoadMoreRecyclerView.setFooterViewText("loading");

设置上拉刷新文字颜色

mPullLoadMoreRecyclerView.setFooterViewTextColor(R.color.white);

设置加载更多背景色

mPullLoadMoreRecyclerView.setFooterViewBackgroundColor(R.color.colorBackground);

设置下拉刷新颜色

mPullLoadMoreRecyclerView.setColorSchemeResources(android.R.color.holo_red_dark,android.R.color.holo_blue_dark);

快速Top

mPullLoadMoreRecyclerView.scrollToTop();

联系我

我的微信公众号:吴小龙同学,欢迎关注交流。

更多交流

Android技术交流群-剩者为王④群:331553260

个人博客

http://wuxiaolong.me/

作者微博

吴小龙同學

License

Apache-2.0