Android RecyclerView 完全解析

什么是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]

你可能感兴趣的:(android,动画,管理,布局,Recycler)