Android LayoutInflate.from(...).inflate(...,boolean attachToRoot)方法中attachToRoot参数的意义

来源:互联网 发布:微博个性域名二次修改 编辑:程序博客网 时间:2024/05/21 01:54

做过android开发的同学都知道,在android中通过layout文件绘制成View的主要方式有三种(其实是同一种),分别为LayoutInflate.from(Context context).inflate(@LayoutRes int resource,@Nullable ViewGroup root,boolean attachToRoot);LayoutInflate.from(Context context).inflate(@LayoutRes int resource,@Nullable ViewGroup root);View.inflate(Context context,@LayoutRes int resource,ViewGroup root)。
其中第三种方式其内部实现就是调用的第二种方式(见sdk源码),所以可以理解为是一种方式。在这里,我们着重来讲第一种方式LayoutInflate.from(Context context).inflate(@LayoutRes int resource,@Nullable ViewGroup root,boolean attachToRoot);,这种方式是最原始最基本的方法,第二种方式是在其基础上进行的调用,将attachToRoot这个参数默认传了true(只要ViewGroup root不为空),那么attachToRoot这个参数究竟是啥含义呢,我们在日常开发中到底该怎么传呢。
其实顾名思义,attach单词的意思为附上,add上,attachToRoot的意思就是add上root,这里的root就是我们的ViewGroup,所以这个参数的含义就是是否将我们inflate出来的view add到我们所传递的ViewGroup上,就这么理解即可。

分析途径:1.sdk源码;2.sdk 自带的Hierarchy Viewer工具 专用于分析与观察视图层级

阅读全文
1 0
原创粉丝点击