自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fyfcauc的专栏

Keep Sharp

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除