我有一個Android項目,有幾個小視圖,我需要在運行時實例化。我一直無法找到將所有這些相關視圖存儲在單個XML文件中的方法,現在我將會有很多這些XML文件。我只是想知道是否有辦法將它們全部放在一個文件中,但不屬於某個父ViewGroup。多個android視圖可以存儲在同一個.xml文件中,而不屬於同一個父級?
由於無法制作子文件夾,所以所有東西都堆放在同一個地方,所以android中的layout文件夾很糟糕,唉。
我希望有人能告訴我組織這些事情的更好方法。
我有一個Android項目,有幾個小視圖,我需要在運行時實例化。我一直無法找到將所有這些相關視圖存儲在單個XML文件中的方法,現在我將會有很多這些XML文件。我只是想知道是否有辦法將它們全部放在一個文件中,但不屬於某個父ViewGroup。多個android視圖可以存儲在同一個.xml文件中,而不屬於同一個父級?
由於無法制作子文件夾,所以所有東西都堆放在同一個地方,所以android中的layout文件夾很糟糕,唉。
我希望有人能告訴我組織這些事情的更好方法。
如果我正確地理解了你,你希望將幾個視圖記憶到一個屏幕上或合併成一個xml文件。你可以包含其他的XML到一個。
這篇文章展示瞭如何在XML佈局中使用標籤 來重用和共享佈局代碼。本文解釋了標籤以及它如何補充標籤。
http://developer.android.com/resources/articles/layout-tricks-merge.html
此外,該視頻可能會幫助(在約19分鐘)。向您展示如何提取當前佈局並能夠將其包含在其他佈局中。
一對夫婦:
是的,佈局文件夾是一個痛苦。我使用嚴格的命名約定使其可以忍受,並且在eclipse中使用快捷鍵ctrl + shift + r
快速找到我正在尋找的佈局。嘗試在活動後命名您的佈局:activity1_menu_overlay
和activity1_main
。使用上述快捷方式,只需輸入Activity1
,它只會顯示相關的佈局。
如果這不起作用,您可以嘗試將所有視圖包裝在LinearLayouts
中,並使用view.setVisibility(View.Gone);
或view.setVisibility(View.Visible);
來顯示/隱藏適當的視圖。
下面是第二個例子,因爲這很難解釋。
一個XML文件:
<LinearLayout>
<LinearLayout ... android:visibility="visible">
<copy/paste of view 1>
</Linearlayout>
<Linearlayout ... android:visibility="gone">
<copy/paste of view 2>
</Linearlayout>
<Linearlayout ... android:visibility="gone">
<copy/paste of view 3>
</Linearlayout>
<Linearlayout ... android:visibility="gone">
<copy/paste of view etc.>
</Linearlayout>
</Linearlayout>
記住這個方法需要你在你的活動來定義每個「孩子」 LinearLayout
視圖的引用,這樣你就可以適當地調用setVisiblity
。
這種方法適用於動畫,我只能用它在2個或3個可能的視圖在一個XML文件。