2012-03-22 62 views
0

我有一個Android項目,有幾個小視圖,我需要在運行時實例化。我一直無法找到將所有這些相關視圖存儲在單個XML文件中的方法,現在我將會有很多這些XML文件。我只是想知道是否有辦法將它們全部放在一個文件中,但不屬於某個父ViewGroup。多個android視圖可以存儲在同一個.xml文件中,而不屬於同一個父級?

由於無法制作子文件夾,所以所有東西都堆放在同一個地方,所以android中的layout文件夾很糟糕,唉。

我希望有人能告訴我組織這些事情的更好方法。

回答

0

如果我正確地理解了你,你希望將幾個視圖記憶到一個屏幕上或合併成一個xml文件。你可以包含其他的XML到一個。

這篇文章展示瞭如何在XML佈局中使用標籤 來重用和共享佈局代碼。本文解釋了標籤以及它如何補充標籤。

http://developer.android.com/resources/articles/layout-tricks-merge.html

此外,該視頻可能會幫助(在約19分鐘)。向您展示如何提取當前佈局並能夠將其包含在其他佈局中。

0

一對夫婦:

是的,佈局文件夾是一個痛苦。我使用嚴格的命名約定使其可以忍受,並且在eclipse中使用快捷鍵ctrl + shift + r快速找到我正在尋找的佈局。嘗試在活動後命名您的佈局:activity1_menu_overlayactivity1_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文件。

相關問題