LayoutInflater源码分析

思考:在adapter中获取ItemView的时候 会经常用到LayoutInflater.from(context).inflate(R.layout.item_recycler,parent,false);但是最后参数传true或者false是让人困扰的,知道传false 因为传true会报错。。。所以今天就来分析一下吧

问题示例

第一个方法 :View.inflate(mContext,R.layout.activity_main,null);源码流程

方法一

第二个方法 :LayoutInflater.from(mContext).inflate(R.layout.activity_main,parent);

方法二

第三个方法 :LayoutInflater.from(mContext).inflate(R.layout.activity_main,parent,false);

可以看到 前两个方法最终还是走到第三天方法中,只是缺少的参数代码填充了


方法三

后面看看具体核心算法:inflate(parser, root, attachToRoot);


核心

讲空viewGroup添加成一个有子view的方法 rInflateChildren(parser,temp,attrs, true);

那么一个个view又是如何生成的呢

解析完成啦。。。。还是蛮简单的嘛。。。。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容