2013-04-11 112 views
1

在開發了幾個應用程序之後,我知道很多人喜歡添加查看程序化盟友。是否所有的XML佈局都可以轉換爲Android中的Java代碼?

但是,是否所有的XML佈局都可以動態轉換爲Java代碼?

使用Java代碼生成佈局的優點和缺點是什麼?

+0

[Android中的動態與XML佈局?]的可能重複(http://stackoverflow.com/questions/11960501/dynamic-vs-xml-layout-in-android) – Selvin 2013-04-11 13:50:18

回答

2

您正在創建的佈局XML正在運行時轉換爲java代碼。 所以你的問題的答案是肯定的。你可以做同樣的事情,基本上從頭開始在java代碼中創建所有的佈局。

如你所知,這個thehnic的明顯下降級別是它需要更多的時間才能達到與XML文件相同的結果。

所以,除非你必須動態地添加視圖到你的佈局,我沒有看到你使用java代碼來做這個過程的理由。

1

但是,這是所有的XML佈局可以動態地轉換爲Java代碼?

什麼是使用Java代碼來生成佈局的利弊?

根據文檔說明,在XML中聲明UI的好處是,它使您能夠更好地將應用程序的表示與控制其行爲的代碼分開。你的UI描述是你的應用程序代碼的外部,這意味着你可以修改或修改它,而無需修改你的源代碼並重新編譯。例如,您可以爲不同的屏幕方向,不同的設備屏幕尺寸和不同的語言創建XML佈局。此外,使用XML聲明佈局可以更容易地查看UI的結構,因此更容易調試問題。


Hello Android由Ed伯內特:程序 和聲明:
用戶界面可使用兩種方法之一來設計。程序僅僅意味着代碼。例如,當您編寫Swing應用程序的 時,您編寫Java代碼以創建 並操作所有用戶界面對象,例如JFrame和JButton。因此,Swing是程序性的。

另一方面,聲明式設計不涉及任何代碼。 當您設計一個簡單的網頁時,您使用HTML,這是一種類似於XML的標記語言 ,它描述了您想要在頁面上看到的內容,而不是 您想如何操作。 HTML是聲明式的。

Android試圖通過讓任何一種風格創建用戶界面來跨越程序性和聲明式 世界之間的差距。您可以幾乎完全停留在Java代碼中,或者您幾乎可以在XML描述符中保留幾乎完整的 。如果您查閱任何Android 用戶界面組件的文檔,您將看到兩個Java API和相應的聲明性XML屬性,它們可以執行相同的操作。

你應該使用哪一個?無論哪種方式都是有效的,但Google的建議是儘可能使用聲明式XML 。 XML代碼通常比相應的Java代碼短 並且更易於理解,並且在未來的版本中它的可能性更小。

0

幾乎所有可以在XML中執行的操作都可以通過編程來完成。我覺得在可繪製形狀等方面變得非常困難。 我只有一個做編程佈局的東西,當我不知道我需要添加什麼。

例如:我有一些文章可以有1-x個描述,我不知道。然後我以編程方式創建我添加到佈局的TextView。

相關問題