您的位置:首页 > 移动开发 > Android开发

Android RecyclerView 完全解析

2016-06-16 20:07 399 查看

什么是RecyclerView

你想要控制其显示的方式,请通过布局管理器LayoutManager

你想要控制Item间的间隔(可绘制),请通过ItemDecoration

你想要控制Item增删的动画,请通过ItemAnimator

![RecyclerView能干什么][1]

RecycleView

1、不关心Item是否显示在正确的位置,如何显示 —–用LayoutManager

2、不关心Item间如何分隔 —–ItemDecoration

3、不关注Item增加与删除的动画效果 —-ItemAnimator

4、仅仅关注如何回收与复用View

RecycleView相关的重要的类

1、Adapter

2、ViewHolder

3、LayoutManager

4、ItemDecoration

5、ItemAnimator

RecycleView能干什么

1、Just like Listview —–用LayoutManager

2、Just like GridView —–用LayoutManager

3、横向ListView —–用LayoutManager

4、横向GridView —–用LayoutManager

5、瀑布流 —–用LayoutManager

6、定制Item增加与删除动画 —-ItemAnimator

RecycleView 设计思想:

不关心内部的item是否显示在正确的位置,如何显示<—–LayoutManager(设置LinearLayoutManager,GridLayoutManager)

不关心item间如何分隔<——–ItemDecoration(ListView可以通过Divider来设置)

不关心item增加与删除的动画效果<——ItemAnimator(可实现其子类)

仅仅关注如何回收与复用view

属于一个插件式的架构,通过三个类的组合来实现需求

相关的重要类:

Adapter(自己的适配器)

ViewHolder(强制使用)

LayoutManager

ItemDecoration(分隔效果)

ItemAnimator(动画效果)

RecyclerView能实现:

依赖于LayoutManager的设置

1、Just like ListView(显示传统ListView的风格)

2、Just like GridView(显示传统GridView的风格)

3、横向ListView

4、横向GridView

5、瀑布流

依赖于ItemAnimator的设置

6、定制Item增加与删除动画

![listview和gridview等排列方式点转换,同时满足漂亮的添加删除][2]

实现ListView

继承Adapter

创建ViewHolder

构造函数传递参数进来,LayoutInflater用于得到布局

getItemCount()返回list大小

onCreateViewHolder()创建刚刚给的MyViewHolder(布局view)

在ViewHolder传入的View后,初始化控件,设置属性

onBindViewHolder()中给holder中控件赋值

回到Activity中给RecylerView设置layoutmanager(linear 或者grid)

![ViewHolder][3]

![此处输入图片的描述][4]

initDatas();initViews();

mRecyclerView.setAdapter(new SimpleAdapter(this,mDatas));

linearLayoutManager= new LinearLaoutManager(this,xx,xx);

mRecyclerView.setLayoutManager(linearLayoutManager);

![gradle配置recylerView导包][5]

添加分割线

![使用这时RecylerView分割线 .addItemDecoration(),增加一个类][6]

![补充分割线][7]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息