2013-04-11 117 views
1

在开发了几个应用程序之后,我知道很多人喜欢添加查看程序化盟友。是否所有的XML布局都可以转换为Android中的Java代码?

但是,是否所有的XML布局都可以动态转换为Java代码?

使用Java代码生成布局的优点和缺点是什么?

+0

[Android中的动态与XML布局?]的可能重复(http://stackoverflow.com/questions/11960501/dynamic-vs-xml-layout-in-android) – Selvin 2013-04-11 13:50:18

回答

2

您正在创建的布局XML正在运行时转换为java代码。 所以你的问题的答案是肯定的。你可以做同样的事情,基本上从头开始在java代码中创建所有的布局。

如你所知,这个thehnic的明显下降级别是它需要更多的时间才能达到与XML文件相同的结果。

所以,除非你必须动态地添加视图到你的布局,我没有看到你使用java代码来做这个过程的理由。

1

但是,这是所有的XML布局可以动态地转换为Java代码?

什么是使用Java代码来生成布局的利弊?

根据文档说明,在XML中声明UI的好处是,它使您能够更好地将应用程序的表示与控制其行为的代码分开。你的UI描述是你的应用程序代码的外部,这意味着你可以修改或修改它,而无需修改你的源代码并重新编译。例如,您可以为不同的屏幕方向,不同的设备屏幕尺寸和不同的语言创建XML布局。此外,使用XML声明布局可以更容易地查看UI的结构,因此更容易调试问题。


Hello Android由Ed伯内特:程序 和声明:
用户界面可使用两种方法之一来设计。程序仅仅意味着代码。例如,当您编写Swing应用程序的 时,您编写Java代码以创建 并操作所有用户界面对象,例如JFrame和JButton。因此,Swing是程序性的。

另一方面,声明式设计不涉及任何代码。 当您设计一个简单的网页时,您使用HTML,这是一种类似于XML的标记语言 ,它描述了您想要在页面上看到的内容,而不是 您想如何操作。 HTML是声明式的。

Android试图通过让任何一种风格创建用户界面来跨越程序性和声明式 世界之间的差距。您可以几乎完全停留在Java代码中,或者您几乎可以在XML描述符中保留几乎完整的 。如果您查阅任何Android 用户界面组件的文档,您将看到两个Java API和相应的声明性XML属性,它们可以执行相同的操作。

你应该使用哪一个?无论哪种方式都是有效的,但Google的建议是尽可能使用声明式XML 。 XML代码通常比相应的Java代码短 并且更易于理解,并且在未来的版本中它的可能性更小。

0

几乎所有可以在XML中执行的操作都可以通过编程来完成。我觉得在可绘制形状等方面变得非常困难。 我只有一个做编程布局的东西,当我不知道我需要添加什么。

例如:我有一些文章可以有1-x个描述,我不知道。然后我以编程方式创建我添加到布局的TextView。

相关问题