Android运行时布局

时间:2011-03-01 17:19:33

标签: android android-layout

在我的andriod应用程序中,我在运行时获得了一个xml。 如何从未编译的xml中提取视图?

用户从他的文件系统中选择xml。 它没有编译。 因此我没有任何像“R.layout.my_layout”

这样的参考文献

2 个答案:

答案 0 :(得分:1)

尝试LayoutInflator.inflate()

LayoutInflator.from(this).inflate(R.layout.my_layout, parent, true);

其中this表示包含的活动,parent是您正在膨胀的ViewGroup。如果您只想恢复视图层次结构并将其自己添加到ViewGroup,也可以将其与null父级(和false)一起使用。

答案 1 :(得分:1)

目前无法使用标准的Android API完成此操作。包含布局的XML文件需要在构建期间进行处理,以便能够在运行时对它们进行充气

请在此处查看LayoutInflater的文档http://developer.android.com/reference/android/view/LayoutInflater.html

  

出于性能原因,视图通胀在很大程度上依赖于XML的预处理   在构建时完成的文件。因此,目前无法使用   在运行时在纯XML文件上使用XmlPullParser的LayoutInflater;它只是   使用从已编译资源(R.something文件)返回的XmlPullParser。

一个有点乏味的选择是编写自己的XML解析器来解析XML并以编程方式构造布局。