RecyclerView是Android 5.0的新特性,可以直接代替ListView与GridView,并且能够实现瀑布流的布局,感觉RecyclerView使用的好处就是它不关心布局,只关心资源的回收与复用,正因为如此,RecyclerView中将ViewHolder进行了单独的编写,这也正是google所不断提倡的,另外,RecyclerView能够更简单的实现布局的转换。
RecyclerView简介
Google I/0大会上Google开放了一个全新的视图类RecyclerView,它被用来代替ListView以及GridView,提供更为高效的回收复用机制,同时实现管理与视图的解耦合。
1、RecyclerView不关心布局,需要使用setLayoutManager进行设置布局。
2、RecyclerView不关心分割线,因此分割线需要我们自己想办法设置。
3、RecyclerView不关心Item的点击事件与动画效果,需要自己编写接口进行监听。
4、RecyclerView仅关注View的回收与复用。
相关的类:
RecyclerView.Adapter:托管数据集合,为每个Item创建视图;
RecyclerView.ViewHolder:承载Item视图的子视图;
RecyclerView.LayoutManager:负责Item视图的布局;
RecyclerView.ItemDecoration:为每个Item视图添加分割线;
RecyclerView.ItemAnimator:负责添加、删除数据时的动画效果;
RecyclerView转ListView
根据上面的介绍可以知道要使用RecyclerView我们至少要用到LayoutManager,Adapter,ViewHolder。
垂直的Linearlayout 布局
MainActivity:(在MainActivity中需要用到Adapter与LayoutManager,因此在后面我们需要对他们进行编写)
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerview;
private List<Fruit> mData=new ArrayList<>();
private RecyclerAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerview= (RecyclerView) findViewById(R.id.recyclerview);
//垂直的Linearlayout
LinearLayoutManager manager=new LinearLayoutManager(