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);

 

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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试