我是一名新的Android开发人员。我试图从文档中了解布局充气机的使用但却无法理解。 android中的布局充气器有什么用?
什么时候必须使用它?
答案 0 :(得分:17)
请参阅this
基本上将xml平面文件视为没有空气的气球,LayoutInflator所做的就是将它(或膨胀)吹成一个完整大小的气球a.k.a.您的Views和View组。所以平面文件会膨胀到视图中。 (随意批评这个比喻,但这就是我对它的看法)并且就使用情况而言,检查this article。作者谈到手动膨胀物体。
在内部,xml解析器映射到Android.Resource的缓存子集,查找被识别为视图的适用xml实例化它们并将它们添加到视图组。
从LayoutInflator中的内部rInflate
解析xml文件并将结果添加到父视图。查找具有特定签名的重载
void rInflate(XmlPullParser parser, View parent, final AttributeSet attrs, boolean finishInflate)
在LayoutInflater
表演
*原因,观点通货膨胀在很大程度上依赖于XML文件的预处理
*这是在构建时完成的。因此,目前无法实现
*在运行时将LayoutInflater与XmlPullParser一起使用在纯XML文件上。
因此,我们可以推断文件中的xml在编译时被缓存,以减少处理解析文件所需的处理量。
XmlResourceParser loadXmlResourceParser(String file, int id, int assetCookie, String type)
Resources.java。我希望这会让事情更加清晰。
答案 1 :(得分:2)
_ _ _ _ _ _ _ _ _ _ _ _
| |
| _____________ |
| Name |_____________|--|-----<2 objects(TextView,EditText)>
| _____________ |
| Age |_____________|--|-----<2 objects(TextView,EditText)>
| _____________ |
| Phone|_____________|--|-----<2 objects(TextView,EditText)>
| |
| |
| |
| |
| ------ |
| |BUTTON| -------|-----<1 objects(ButtonView)>
| ------ |
| |
-----------------------
We can clearly see from the above figure,
<强> What are these complex actions ?
强>
instantiation
上存在的每个视图创建对象
在这里制作。 Inflator service
的帮助下,对象创建已完成&amp;此过程称为layout Inflation