XML布局到Java代码转换器

时间:2014-05-13 19:22:20

标签: java android xml

我知道在Android中,所有XML布局文件都会在编译时转换为Java代码。有没有办法访问这些java代码(java中的布局)?

或者如果没有办法,我能找到任何转换器吗?

-

例如:

XML布局:

<TextView
    android:layout_width="50px">
</TextView>

Java代码:

TextView textview = new TextView();
textview.setWidth(50);

-

如您所见,这只是一个简单的示例,但布局通常要长得多。它需要很长时间才能逐行转换。

有什么建议吗?

2 个答案:

答案 0 :(得分:6)

  

有没有办法访问这些java代码(java中的布局)?

没有这样的&#34;代码&#34;。欢迎您查看the source to LayoutInflater,正如您将看到的那样,它看起来与您想象的大不相同。

  

我能找到任何转换器吗?

要求异地资源被认为是Stack Overflow的主题。为了记录,我不知道,如果有人花时间在我身上,我会感到震惊。

  

逐行转换它需要很长时间。

然后首先用Java编写它。或者,直接使用XML布局资源。

  

我正在开发一个项目,在这个项目中使用Java代码而不是XML更容易

虽然我不能排除这种可能性,但这将是相当令人惊讶的。

答案 1 :(得分:2)

您可以尝试此解决方案:

http://www.xmltojava.com/

对于你的例子:

<TextView
   android:layout_width="50px">
</TextView>

将产生以下Java代码:

TextView textView_706 = new TextView(this);
LayoutParams layout_420 = new LayoutParams();
layout_420.width = 50px;
textView_706.setLayoutParams(layout_420);

显然,命名有点问题,但它是一个小折射器。