RecycleView可以表现成三种:
1、ListView
2、瀑布流
3、GridView
其实这三种控件现在都有各自的类以及对应的上拉和下拉,但是RecycleView出来后,一个控件就能将这3个控件表现出来,是在是强大,只要重新封装一下RecycleView就行了。
RecyclerView的封装类
PullRefreshRecyclerView.java
package com.picasso.beautyread.custom;
import android.content.Context;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.picasso.beautyread.R;
/**
* Created by Shenlong on 2015/7/2.
*/
public class PullRefreshRecyclerView extends LinearLayout {
private RecyclerView mRecyclerView;
private SwipeRefreshLayout mSwipeRefreshLayout;
private RefreshLoadMoreListener mPullLoadMoreListener;
private boolean hasMore = true;
private boolean isRefresh = false;
private boolean isLoadMore = false;
private LinearLayout mFooterView;
private Context mContext;
private View mExceptView;
/**
* 异常图片控件
*/
private static ImageView exceptIv;
/**
* 异常内容文本控件
*/
private static TextView exceptTv;
public PullRefreshRecyclerView(Context context) {
super(context);
initView(context);
}
public PullRefreshRecyclerView(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context);
}
private