- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 RecyclerView机制解析: Linear Layout
LayoutManager子类实现的核心有两个地方:onLayoutChildren,该函数的实现决定了ChildView将会怎样被布局(layout),ChildView的测量也会在其中完成,按照之前分析的RecyclerView Measure流程(http://blog.csdn.net/fyfcauc/article/details/54291174), RecyclerView**自身的M
2017-01-13 10:26:11 2336
原创 关于RecyclerView的一些概念
在使用RecyclerView或者阅读其源码前最好明确一些术语代表的概念,脱离具体实现细节,在抽象设计层思考RecyclerView 背后的模型。先以RecyclerView的一个表现形式,一个可以上下滑动的列表作为切入点: 我们为什么偏向使用ListView/RecyclerView而非ScrollView+LinearLayout作为列表的实现方案? 因为列表的长度可能是很长的。从理想的使用
2017-01-12 16:32:51 944
原创 RecyclerView机制分析: State
State是最简单的RecyclerView子模块。RecyclerView在工作过程中,需要维护一系列状态信息(比如当前处于Layout的哪个阶段,是否处于preLayout阶段等)。并且因为RecyclerView将功能进行了子模块化,还需要传递某些信息到特定子模块来完成功能/通信,RecyclerView把这部分职责集中到了State模块中。State**内部聚合了所需的各项状态信息,扮演了
2017-01-11 15:04:44 3036
原创 RecyclerView机制分析: Recycler
Recycler虽然命名上看,像是只承担了View回收的职责,其真正的定位是RecyclerView的View提供者(甚至是管理者), 包括生成新View, 复用旧View,回收View,重新绑定View等逻辑都被封装在Recycler中。外部调用者只需要调用Recycler的接口获取合适的View即可,不需要关心View获取和配置等具体细节,Recycler对外提供了View的回收和获取服务。先
2017-01-11 12:14:18 5649 5
原创 RecyclerView机制解析: ItemDecoration
RecyclerView的ItemDecoration机制相对比较简单,不过扩展性很强,在ChildView的测量和展示上为使用者提供了极大的发挥空间,像divider/项目高亮/项目边框等效果都可以轻松实现ItemDecoration可以同时存在复数个,维护在一个列表中,影响是可以叠加的,ItemDecoration的作用顺序从列表头到列表尾。addItemDecoration可以添加一个Ite
2017-01-09 19:10:09 3775
原创 RecyclerView机制解析: Measure
RecyclerView将布局的职责委托给了LayoutManager类,而测量和布局联系很紧密,因此测量的一部分逻辑也被委托给了LayoutManager,RecyclerView大多数情况下会基于LayoutManager布局之后的ChildView分布情况来决定自己的最终尺寸。RecyclerView支持两种measure模式,取决于LayoutManager的mAutoMeasure属性:
2017-01-09 17:50:13 2850
原创 Android Measure 体系简单总结
Android对View的测量是半协商半强制半模糊半具体的.测量过程中的两套尺寸体系: [半强制] ParentView**约束ChildView: **MeasureSpec(通过measure方法传递给ChildView, MeasureSpec本身包含了两类信息: SpecMode和SpecSize): SpecMode = EXACTLY: 给ChildView指定了具体尺寸[半具体]
2017-01-09 14:04:55 1760
原创 RecyclerView机制解析: ChildHelper
RecyclerView在处理消失动画时采用了和Animation/LayoutTranslation相似的策略:某个ChildView需要渐变消失动画效果,那么该ChildView在动画结束前不会从ViewGroup中被remove掉,在动画运行完以后才会被remove掉。上述策略显然会造成不一致:Data中,ChildView对应的Item已经被remove了(数据remove不会因为有动画就延
2017-01-07 15:58:28 2639
原创 RecyclerView 原理机制 宏观总结
RecyclerView源码整体基本读完,先贴个宏观上的总结.RecyclerView可以看作是AbsListView的进化版,在结构设计和模块划分上有了极大的进步,核心是将各项功能独立为模块,然后组合在一起构成RecyclerView。 1. AdapterHelper: Update行为记录/整合/分发系统(时序魔法师,扮演了RecylerView和LayoutManager之间的Po
2017-01-06 17:56:02 3777 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人