2011-03-01 70 views
1

在我的andriod應用程序中,我在運行時得到了一個xml。 如何從未編譯的xml膨脹視圖?Android運行時佈局

xml是用戶從他的文件系統中選擇的。 未編譯。 因此,我沒有任何的參考,如「R.layout.my_layout」

+0

請提供調用您所獲得的XML的代碼。你可能會用錯誤的方式來調用它,但是我們需要看看你在做什麼才能提供幫助。 – Blumer 2011-03-01 17:27:19

回答

1

嘗試LayoutInflator.inflate()

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

其中this是指含有活性parent是要膨脹到的ViewGroup。如果您只想取回視圖層次結構並將其自己添加到ViewGroup中,您還可以將其用於null父級(以及false)。

1

目前無法使用標準android API完成此操作。需要包含此佈局的XML文件中生成時要被處理能夠在運行時誇大他們

見LayoutInflater這裏http://developer.android.com/reference/android/view/LayoutInflater.html

文檔出於性能的考慮,查看通貨膨脹在很大程度上依賴於在構建時完成XML 文件的預處理。因此,目前不可能在運行時通過普通的XML文件使用帶有XmlPullParser的LayoutInflater;它只 作品從一個編譯的資源返回XmlPullParser(R.something文件。)

一個有點乏味選擇是寫自己的XML解析器解析XML和編程構建佈局。