2012-05-14 37 views
2

根据在android中创建GUI,我有一个简短的问题。什么方式更好的XML或编码? 我总是读到xml更好,但想象你有一个滚动视图。 在scrollview内部是一个相关布局。里面应该有一个ImageView旁边的一个RadioButton旁边的TextView的几行。行数可以变化。 让我们说xml中的50个视图或创建这些视图的代码循环真的会更好吗?Android GUI XML vs代码

回答

1

如果您需要动态添加组件,唯一的方法就是使用代码(或)混合方法(在XML中定义布局并在代码中添加组件)。如果你的组件是静态的,XML可能是最好的。

1

动态内容当然是动态添加的。所以你的例子需要一些java代码。您应该只通过编程方式添加动态部分,因此您仍然可以使用静态部分的xml文档(布局完全动态的情况非常罕见)。

如果你有固定数量的视图,那么是的,我会用xml写50个,而不是循环。我想你想知道代码重复,据我所知,你会得到一些使用XML时。

(单程,以尽量减少个XML中的重复代码是的风格和主题的使用)

+0

这是正确的,你应该创建一个单一的相对布局(xml),并填充和重用布局本身来生成动态内容。 – KDEx

+0

这很有趣。我不相信xml文件中的50个视图是更好的方法 – Mister004

+0

@ Mister004我看到它的方式,你可以尽可能避免动态编写GUI – keyser

7

每个人都有其优点和缺点。仅举几例:

XML

  • 利弊 - >快速GUI开发,代码保持干净
  • 利弊 - >静态

动态(代码)

  • 优点 - >能够对r不定时条件
  • 利弊 - >更多的代码,这意味着较差的可维护性和潜在buggier
0

为什么你不使用一个ListView,而不是滚动型。 实现起来会更简单,性能必须更好。

使用ListView创建一个XML文件,并在您的活动中实现您自己的适配器以实例化行。 你可以在网上找到很多关于这个的教程,我相信你会找到你需要的! 祝你好运。

+0

我已经编写了我告诉过你的例子。我只想问,因为我想到了这一点,无法想象什么更好 – Mister004

1

我同意以上所述。即使您需要动态更新,仍然可以使用XML位和片段来呈现内容,但XML仍然是更好的方法。你的代码将基于XML元素,但XML文件将是独立的。因此,如果您在代码中破坏了某种功能,那么您知道它的业务逻辑不会破坏UI部分,这将更容易开发和轻松查找问题。