【问题标题】:'Inflate' a layout which the LayoutInflater can't inflate'膨胀' LayoutInflater 不能膨胀的布局
【发布时间】:2014-08-11 22:03:19
【问题描述】:

我正在寻找一种方法来“膨胀”编译时未知的 Android XML 布局。我已经搜索了几个小时并且总是找到答案,这是不可能的,因为 LayoutInflater 不能使用简单的 XML 文件。好的,但不幸的是,这是我的应用程序需要做的。

我的应用收到一个必须显示的 Android 确认 XML 布局。不需要交互功能,只需图形显示。
我的第一个想法是手动反序列化 XML 文件并以编程方式构建内容。我确信这会起作用,但是我可以使用更简单的方法甚至库吗?

编辑
当我被要求发布一些代码时,我想我必须添加一些信息。到目前为止,我还没有为这个项目写过一行代码。我为之前的项目编写了很多代码来读取第三方 XML 布局定义(不是 Android),并在运行时将它们“转换”为 Android 视图。当然,我可以再做一次,但这是很多重复的工作。所以我正在寻找不同的方法。

【问题讨论】:

  • @EarlGrey 首先展示你尝试过的东西。请上传一些代码。
  • @james 对于这个特定的项目,我根本没有编写任何代码。我编写了代码来读取第三方 XML 布局定义(不是 Android),并在之前的项目中在运行时将它们“转换”为 Anroid 视图。我可以再做一次,但我正在寻找不同的方法。

标签: android xml layout-inflater


【解决方案1】:

真的没有一个简单的方法来做到这一点。您可以使用 Simple XML http://simple.sourceforge.net/,这将减轻解析的痛苦,并且您可以使用通用方法,例如将生成的 xml 文件的某种“模式”从服务器绑定到元素。你也可以从本教程http://www.ibm.com/developerworks/xml/tutorials/x-andddyntut/获得一些灵感。

我希望这会有所帮助。

【讨论】:

  • 我在提到的项目中使用了简单的 XML。但是在那里我不得不阅读在 Android 中没有表示的组件。因此,我为这些组件编写了类,添加了简单的 XML 注释。没问题。但是将 Simple XML 支持添加到 Android 自己的视图中似乎……很耗时。
  • 好吧,如果您已经有 Simple Xml 注释类,那么您可以重用它们,而不必为 Android 特定的 XML 布局而烦恼,只需发送您适当的 XML 文件,用 Simple Xml 解析它们并显示信息使用 Android 组件。
  • 我在一个项目中基本上做了同样的事情,而且效果很好。
  • 嗯,这两个项目都来自同一个客户。他们给了我们新工作,因为他们不想再使用非 Android XML 了;)感谢您的回答,我认为这将是包装类并与客户协商。
  • 至少在 Android 支持使用 LayoutInflater 进行运行时布局解析之前。 ;-) 祝你项目成功。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
相关资源
最近更新 更多