这个问题一直困扰着我.我已经在Android平台上开发了几个应用程序,不知何故总是发现自己使用Java代码来构建布局.在专业的开发环境中,这是可以接受的吗?或者XML文件应该是首选方法?我经常发现XML是一种更乏味的方法,而且这些布局在所有设备上看起来都不一样.我只是不明白.从专业角度来看,是否有人真正能够开发纯粹使用XML文件的复杂视图的应用程序?这个问题让我感到害怕,因为Google推荐使用XML,但除非以编程方式完成,否则UI在所有设备上看起来都不一样.或者我做错了什么?
请注意,我指的是大多数用户使用的Android 2.2和2.3.
Oll*_*e C 36
我在我编写的每个应用程序的几乎每个片段和活动上使用XML布局.我很少看到任何需要动态创建视图,ListViews的配置,显示/隐藏视图等需要在代码中执行.对我来说,XML的优点是:
我想不出把我的所有布局都放到代码中的任何好理由 - 这听起来像地狱.
我希望您的布局看起来不一样的原因是因为您的XML没有正确定义布局.请记住,Android工具将XML布局转换为代码,因此使用XML布局与动态布局没有固有的问题 - 最终都会成为代码.
Fuz*_*gic 16
OckhamsRazor,
答案很很大程度上取决于你的需求,灵活性和知识.首先要理解的是,无论是通过XML创建还是以编程方式创建的每个布局都可以通过属性进行特定调整或使其符合许多屏幕.
...并且不知何故总是发现自己使用Java代码来构建布局.在专业的开发环境中,这是可以接受的吗?
是的.Android使这些可用,所以你可以做到这一点.但是,通过XML管理布局的好处包括标准的MVC隔离,更简单的调试,以及在需要时更容易修改资源.此外,您可以轻松地根据设备配置维护多个布局副本.
...有没有人真正能够开发纯粹使用XML文件的复杂视图的应用程序?
绝对!有一些令人惊讶的程序可以充分利用XML而不是程序化视图.它们的关键是父母视图需要多少信息(即非标准视图属性).即使在这些情况下,如果您知道在何处以及如何操作,也可以通过该信息.
或者我做错了什么?
我不这么认为.老实说,我根据需要运行两种方式.我要说这真的归结为你对这些怪癖缺乏了解.但是工作就是完成工作.这是一个例子:有些时候我不知道在设备上运行之前需要做多大的事情,有时我会让设备符合我的布局需求.最后,我使用下面的图表来做出我的决定.
如果对其中3个中的2个的回答为"是",我将使用某种程度的编程布局.如果没有,我将使用纯XML.话虽如此,编程是鼓励创造力的职业之一(只要它是安全的),几乎任何事情都可以通过多种方式完成.最终,我会说,做任何事情都会让你的工作变得更容易.
Google根据自己对软件程序员及其一般实践的了解,提出建议.他们还创建了平台,因此他们知道哪些方面以哪种方式进行了优化.这完全取决于经验,我们都有自己的经验.如果您在使用XML时遇到问题,那么值得花些时间来弄清楚这个怪癖,以便它是另一种可以利用的工具.此外,它将为您提供自己回答此问题所需的信息.
总结:我可以说巧克力更好,但如果你喜欢香草,你会不同意.请注意每种方法的缺点和好处,并花时间学习如何使用这两种方法完成相同的任务.它将使您成为更好的程序员,让您更好地了解何时使用哪种技术.
希望这可以帮助,
FuzzicalLogic
我通常使用高度可定制的UI做很多工作,其中大部分需要在代码中完成.话虽这么说,我尽可能地尝试使用布局片段并对它们进行充气,因此在添加,删除或重新布置UI部分时,我仍然只是在做一些布局,而不是所有布局.
话虽如此,通过代码进行布局并不难.它的最大优点是编译时检查.我会发现问题比使用预览窗格更快.预览窗格可以很好地用于初始布局,但我使用层次结构查看器来确定我的布局看起来不正确的原因.
| 归档时间: |
|
| 查看次数: |
15645 次 |
| 最近记录: |