inflate的使用

一. 三个参数

  1.  
  2. public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot)  

 

 

 

1. root 不为null ,attachToRoot为true

inflate(R.layout.linerlayout,main,ture);

直接把R.layout.linerlayout的布局添加到main的view中,相当于内嵌

 

 

2. root不为null ,attachToRoot为false

不把R.layout.linerlayout的布局添加到main中,目的:为了创建view

并且让其处在某一容器中,此时根节点的layout_width和layout_height才有效

如果要使用需要手动添加 view.add();

3. root为null

此时attachToRoot 的值无效(效果一样)。linerlayout没有处于某一个容器中,所以它的根节点

layout_width和layout_height会失效

 

二. 两个参数

 

  1. ublic View inflate(XmlPullParser parser, @Nullable ViewGroup root) {  
  2.         return inflate(parser, root, root != null);  
  3.     }  

 

当root为null

 

inflate(parser,root,ture);    //只是为了将该xml布局文件实例化为它对应的View对象方便下面对该item的操作

not null

inflate(parser,root,flase);

 

阅读更多
下一篇Git 导入导出代码
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭