我知道在Android中,所有XML布局文件都会在编译时转换为Java代码。有没有办法访问这些java代码(java中的布局)?
或者如果没有办法,我能找到任何转换器吗?
-
例如:
XML布局:
<TextView
android:layout_width="50px">
</TextView>
Java代码:
TextView textview = new TextView();
textview.setWidth(50);
-
如您所见,这只是一个简单的示例,但布局通常要长得多。它需要很长时间才能逐行转换。
有什么建议吗?
答案 0 :(得分:6)
有没有办法访问这些java代码(java中的布局)?
没有这样的&#34;代码&#34;。欢迎您查看the source to LayoutInflater
,正如您将看到的那样,它看起来与您想象的大不相同。
我能找到任何转换器吗?
要求异地资源被认为是Stack Overflow的主题。为了记录,我不知道,如果有人花时间在我身上,我会感到震惊。
逐行转换它需要很长时间。
然后首先用Java编写它。或者,直接使用XML布局资源。
我正在开发一个项目,在这个项目中使用Java代码而不是XML更容易
虽然我不能排除这种可能性,但这将是相当令人惊讶的。
答案 1 :(得分:2)
您可以尝试此解决方案:
对于你的例子:
<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);
显然,命名有点问题,但它是一个小折射器。