安卓基础

再看LayoutInflater,这次可能会有新的认识

2022-04-29  本文已影响0人  在岁月中远行

我们平常通过xml编写的布局是如何转换成android中的一个View对象从而显示在应用程序中的呢?这就是LayoutInflater.

setContentView底层原理也是通过LayoutInflater。

它将xml布局转换成一个View对象分为两步:

1 通过解析器将xml文件中的内容解析出来。

2 使用反射将解析出来的元素创建成View对象。

接下来看使用反射创建View对象的代码片段。

利用反射构造函数器newInstance创建对象

使用的几种方式:

1 第一种不指定root布局传为空 然后调用addView方法

这种时候buttonLayout所有的layout开头的属性都失效,改变宽高没作用。

2 第二种 指定父布局 第三个参数传false 这种后面调用addView方法正常使用。

3 第三种 指定父布局 第三个参数传true 这种后面不需要调用addView方法。否则会报错。

上一篇 下一篇

猜你喜欢

热点阅读