如何在Android中定义“通胀”

10

我正在学习Android,不理解Inflate的作用。我看到有人在不同的例子中使用它来将一个布局插入到另一个布局中,但我不确定在哪些情况下使用它是好的。

有没有人可以提供好的例子帮助我?

2个回答

23
“膨胀”是指解析XML并将其转化为面向UI的数据结构的术语。你可以膨胀视图层次结构、菜单结构和其他类型的资源。通常,这是由框架在后台完成的(例如,当你调用setContentView(R.layout.main)时)。一个典型的情况是,当创建菜单时,你需要明确地进行膨胀,如在主题创建菜单中所述。

2
同时,在编译时,所有的XML都会被转换成二进制 XML格式,因为这比解析文本表示更加高效。 - Joseph Earl
@Joseph - 的确。不过,这种优化是在构建过程中自动完成的,对程序员来说基本上是看不见的(并且大多数情况下也不相关)。但是如果有人想编写自己的解析器,指出这一点还是很好的。 :-) - Ted Hopp
还值得指出的是,由于这个原因,您不能在除二进制XML文件以外的任何内容上运行内置的解压器(我认为在理论上它有一个选项应该允许您在普通XML上执行它,但它不起作用)。不过,我希望看到一款可以从网络下载布局并应用它们的应用程序。 - Joseph Earl

0
简单理解: “inflate”是Android中的一个术语,用于将布局XML文件转换为其对应的视图对象。它在menuInflater.inflate(...)或layoutInflater.inflate(...)中使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接