【问题标题】:Building User Interface in Android - Views vs. XML在 Android 中构建用户界面 - 视图与 XML
【发布时间】:2011-05-18 17:02:10
【问题描述】:

我对 Android 开发非常陌生,虽然我了解了一般前提(甚至构建了一个小型应用程序),但我一直在查看其他开发人员的源代码,以了解如何更好地进行大型开发项目。

阅读一个开发人员的代码基本上是同时使用 XML 布局和视图来处理 UI 的各个部分(类似于 this question 中的要求)。我理解他在做什么,但对我来说似乎过于复杂。 XML 布局已经提供了创建对操作的响应的功能。 (例如,XML 中的大多数组件都提供了“onClick”。)使用 XML 可以很容易地生成布局。

所以,我的问题是 - 我可以只使用活动和 XML 布局来构建我的整个应用程序吗?我可以选择不使用任何视图吗? (当然,这是假设一个相对简单的应用程序 - 想想任务列表或类似的东西。)或者,我是否试图简化太多?

【问题讨论】:

    标签: android xml view android-activity android-layout


    【解决方案1】:

    我使用的一般策略是尽可能多地推入 XML。这是一种与其他一些 UI 开发系统非常不同的思维方式,但是一旦您通过了学习曲线,它就会非常酷。

    我不知道您选择“不使用任何视图”是什么意思。每个 UI 组件都是某种视图。如果您的意思是不使用任何自定义 View 子类,那么是的,这绝对是可能的。创建您自己的自定义视图类(然后在 XML 中使用它们!)的唯一原因是当库存小部件和视图不能满足您的需求时。由于它们非常灵活,这往往是相当少见的(直到您开始进入花哨的行为或需要自定义图形行为)。

    【讨论】:

    • 只是添加 - 我的所有布局都是使用 XML 定义的。虽然用 Java 编写布局可能有其优势,但使用 XML,您可以获得所见即所得的编辑器,并且可以更轻松地定义布局。唯一的麻烦是,如果你想对你的Views 做任何事情,一旦它们在 XML 中定义,你必须使用findViewById 获取它们。但绝对要使用 XML 而不是 Java。
    • 是的,我的意思是自定义视图子类。谢谢你的澄清。所以,只要我不需要一些自定义的动态行为,我应该可以直接从 XML 创建我的视图。如果是这样,那就太好了!这是我从阅读中怀疑的,但我不太确定。
    【解决方案2】:

    有两种方法可以为 Android 应用程序创建 UI。他们是

    1. 使用 XML - 您可以使用 xml 来设计针对支持多设备的 UI。 XML 还可以帮助您创建静态组件。

    2. Java 代码 - 通常在 Java 中创建 UI 不是一个好习惯。如果您创建一个小应用程序,它是合适的。当您想使用动态组件开发应用程序时,它也很有用。如果您想在 UI 中创建动态组件,Java 代码可以帮助您实现这一目标。

    好的方法是通过 XML 创建 UI,除非 UI 中不需要动态组件。如果您需要动态 UI 创建,那么您可以自定义 UI 创建,即使用 Java 代码。

    由于您是 Android 新手,我希望您推荐 android developer site

    【讨论】:

    • 即使您需要动态视图,您也可以使用预构建 XML 的组合,这些 XML 包含很多您需要的情况,而可见性消失了,只需根据需要更改它们的可见性。当你对 UI 的样子一无所知时……好吧,Java 是唯一的方法。
    【解决方案3】:

    我想你误解了,XML 布局只是创建视图的捷径。无论哪种方式,您最终都会在运行时得到相同的结果。混合、匹配、使用其中一种,由您决定。

    【讨论】:

      猜你喜欢
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 2020-09-19
      • 2010-11-14
      • 1970-01-01
      相关资源
      最近更新 更多