实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示
效果预览
实例APP
使用方法
build.gradle文件
dependencies {
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.0.4'
}
xml引用
<com.wuxiaolong.pullloadmorerecyclerview.PullLoadMoreRecyclerView
android:id="@+id/pullLoadMoreRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp" />
设置线性布局
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.setPullRefreshEnable(false);
不需要上拉刷新
mPullLoadMoreRecyclerView.setPushRefreshEnable(false);
设置上拉刷新文字
mPullLoadMoreRecyclerView.setFooterViewText("loading");
设置下拉刷新颜色
mPullLoadMoreRecyclerView.setColorSchemeResources(android.R.color.holo_red_dark,android.R.color.holo_blue_dark);
快速Top
mPullLoadMoreRecyclerView.scrollToTop(); 源码下载:
https://github.com/WuXiaolong/PullLoadMoreRecyclerView