layoutinflater有什么用?

时间:2011-02-22 09:50:29

标签: android android-layout android-inflate

我是一名新的Android开发人员。我试图从文档中了解布局充气机的使用但却无法理解。 android中的布局充气器有什么用?

什么时候必须使用它?

2 个答案:

答案 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在编译时被缓存,以减少处理解析文件所需的处理量。

我希望这会让事情更加清晰。

答案 1 :(得分:2)


Android中的布局充气程序是Android的一个非常重要的部分


                           _ _ _ _ _ _ _ _ _ _ _ _
                          |                       |
                          |       _____________   |            
                          | 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,

  • 显示活动中的UI元素&amp;在活动背后,用户无法看到复杂的动作 android系统

<强> What are these complex actions ?

  • 我们可以描述的简单方法是,为android XML文件和instantiation上存在的每个视图创建对象 在这里制作。
  • Inflator service的帮助下,对象创建已完成&amp;此过程称为layout Inflation