2012-05-14 41 views
2

根據在android中創建GUI,我有一個簡短的問題。什麼方式更好的XML或編碼? 我總是讀到xml更好,但想象你有一個滾動視圖。 在scrollview內部是一個相關佈局。裏面應該有一個ImageView旁邊的一個RadioButton旁邊的TextView的幾行。行數可以變化。 讓我們說xml中的50個視圖或創建這些視圖的代碼循環真的會更好嗎?Android GUI XML vs代碼

回答

1

如果您需要動態添加組件,唯一的方法就是使用代碼(或)混合方法(在XML中定義佈局並在代碼中添加組件)。如果你的組件是靜態的,XML可能是最好的。

1

動態內容當然是動態添加的。所以你的例子需要一些java代碼。您應該只通過編程方式添加動態部分,因此您仍然可以使用靜態部分的xml文檔(佈局完全動態的情況非常罕見)。

如果你有固定數量的視圖,那麼是的,我會用xml寫50個,而不是循環。我想你想知道代碼重複,據我所知,你會得到一些使用XML時。

(單程,以儘量減少個XML中的重複代碼是的風格和主題的使用)

+0

這是正確的,你應該創建一個單一的相對佈局(xml),並填充和重用佈局本身來生成動態內容。 – KDEx

+0

這很有趣。我不相信xml文件中的50個視圖是更好的方法 – Mister004

+0

@ Mister004我看到它的方式,你可以儘可能避免動態編寫GUI – keyser

7

每個人都有其優點和缺點。僅舉幾例:

XML

  • 利弊 - >快速GUI開發,代碼保持乾淨
  • 利弊 - >靜態

動態(代碼)

  • 優點 - >能夠對r不定時條件
  • 利弊 - >更多的代碼,這意味着較差的可維護性和潛在buggier
0

爲什麼你不使用一個ListView,而不是滾動型。 實現起來會更簡單,性能必須更好。

使用ListView創建一個XML文件,並在您的活動中實現您自己的適配器以實例化行。 你可以在網上找到很多關於這個的教程,我相信你會找到你需要的! 祝你好運。

+0

我已經編寫了我告訴過你的例子。我只想問,因爲我想到了這一點,無法想象什麼更好 – Mister004

1

我同意以上所述。即使您需要動態更新,仍然可以使用XML位和片段來呈現內容,但XML仍然是更好的方法。你的代碼將基於XML元素,但XML文件將是獨立的。因此,如果您在代碼中破壞了某種功能,那麼您知道它的業務邏輯不會破壞UI部分,這將更容易開發和輕鬆查找問題。