如果是false的话,第一个参数所指定的layout文件会被填充并作为View返回。假设我们在XML layout文件中写了一个Button并指定了宽高为match_parent。现在我们想动态地把这个按钮添加进Fragment或Activity的LinearLayout中。LayoutInflater的两个参数的inflate()方法自动将attachToRoot设置为true。另一种在attachToRoot中传递true的情况是使用自定义View。标签标识着这个layout文件的根ViewGroup可以有多种类型。如果传入true,会抛出IllegalStateException,因为指定的子View已经有父View了。原因是及时不需要马上将新填充的View添加进ViewGroup,我们还是需要这个父元素的LayoutParams来在将来添加时决定View的size和position。当你的子View没有正确的LayoutParams时,它会自己通过generateDefaultLayoutParams)计算。我们可能已经指定了子View要填充父元素的宽度,但父View又wrap_content导致最终的View小很多。

Android  LayoutInflater.inflate()详解及分析

Android  LayoutInflater.inflate()详解及分析

Android  LayoutInflater.inflate()详解及分析

Android  LayoutInflater.inflate()详解及分析