参考:
http://blog.csdn.net/lmj623565791/article/details/45059587
一.recyclerView的功能(why)
1.
你想要控制其显示的方式,请通过布局管理器LayoutManager
- LinearLayoutManager 现行管理器,支持横向、纵向。
- GridLayoutManager 网格布局管理器
- StaggeredGridLayoutManager 瀑布就式布局管理器2.流式布局,需要对条目的高度或者宽度随机设置.
2..可以自己控件item之间的间距,和颜色.
mRecyclerView.addItemDecoration()
该方法的参数为RecyclerView.ItemDecoration,该类为抽象类,官方目前并没有提供默认的实现类
3.可以自己定义条目增删的动画.
mRecyclerView.setItemAnimator(
new
DefaultItemAnimator());
4.可以设置条目点击或者长按的事件
边距设置
//设置item之间的间隔
SpacesItemDecoration decoration=new SpacesItemDecoration(16);
recyclerView.addItemDecoration(decoration);
public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
private static final String TAG = "SpacesItemDecoration";
private int space;
public SpacesItemDecoration(int space) {
this.space=space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left=space;
outRect.right=space;
outRect.bottom=space;
if(parent.getChildAdapterPosition(view)==0){
outRect.top=space;
}
}
}