LayoutInflater学习笔记

  • LayoutInflater 内部是用Android提供的pull解析方式来解析布局文件的

  • 根据节点,用反射的方式创建出View的实例并返回

  • 下面是LayoutInflater加载View大概的函数调用图:

LayoutInflater学习笔记_第1张图片

直接LayoutInflater.inflate()加进来的Button不能修改大小

这是因为 layout_widthlayout_height 是用于设置View在布局中的大小的,也就是说首先View必须存在于一个布局中,像这里的Button是没有父布局的,所以它的 layout_widthlayout_height 属性就失效了

在外层加一个FrameLayout,layout_widthlayout_height 属性就可以生效了



    

那么我们平时的xml布局中,最外层的viewGroup为什么又可以设置大小呢?

那是因为Android会自动在布局文件的最外层再嵌套一个FrameLayout,所以才能生效

你可能感兴趣的:(LayoutInflater学习笔记)