A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如何把一个layout文件转换成view对象添加到对应的容器内呢?

1 个回复

倒序浏览
是通过LayoutInflater来加载XML布局文件的,其内部原理就是利用pull解析的方式读取XML文件,把节点名称获取后,利用反射机制进行创建对象,例如节点是<RelativeLayout>就可以知道名称是RelativeLayout,然后反射该名字拿到对应的包,然后调用RelativeLayout(context, attrs)构造方法实例化对象,第一个参数context在我们创建LayoutInflater实例时会传入,第二个参数就是该节点下的属性,在读取XML文件时,会用一个AttributeSet集合进行保存。获取到对象后,我们就可以直接调用父View的addView方法添加,如果是在Activity中作为根布局,我们可以使用setContentView方法直接传入一个布局文件的id号,其内部也是通过这种方式获取到View对象添加的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马