2015-12-04 16 views
1

我得到了新的android studio,並且在創建新的空白活動時我注意到了一件事。在android studio中創建新的空白活動時添加了意外的文件

enter image description here

符合Java的活動相當於是由兩次,一次爲content佈局:

enter image description here

這種新的佈局是正規activity_menu.xml的翻版除了這一個被稱爲content_menu.xml。我也注意到這段代碼中的activity_menu.xml佈局代碼:

<include layout="@layout/content_menu" /> 

這是什麼額外的佈局呢?我可以刪除它嗎?我在官方文檔中找到了this,但我仍然不明白爲什麼它是必要的。這不是在第一次更新...

+0

這是一個'activity_main.xml'的文件夾嗎?我認爲在佈局文件夾中的子文件夾是不好的 –

+0

@ cricket_007我只是把這些放在所有屏幕的最佳佈局......是不是我應該 –

+0

只有你正確地做到了 - http://stackoverflow.com/問題/ 4930398/can-the-android-layout-folder-contain-subfolders –

回答

0

說例如,你想在其他地方重新使用content_menu.xml內容,在這種情況下,在其他活動中,你將在xml文件中執行相同的include語句。重點是你正在重複使用相同的XML並減少內容數量。

+1

爲什麼不只是再次膨脹菜單? –

+0

@RuchirBaronia - 你不會膨脹'content_menu'。假設你在'activity_menu.xml'和'fragment_menu.xml'中包含'content_menu'。相反,你會誇大後者。 –

+0

...我現在真的迷路了。 「內容」的要點是什麼?爲什麼我們需要重用它?是表演的原因還是什麼?我甚至不知道'內容'是什麼,更不用說如何膨脹它了......謝謝 –

1

這裏content_menu只是您的xml佈局內容的名稱。不要被這個困惑。正如你在菜單中看到活動你會看到setContentView(R.layout.activity_menu)

這裏的活動告知其佈局內activity_menu.xml但在這(activity_menu.xml)的內容文件,你看到一個包含標籤。包含標記意味着另一個xml文件content_menu.xml內的內容必須包含在使用包含標記的地方的當前佈局中。所以如果想要更改內部內容,您可以將所有內容保留在activity_menu.xml中,並在content_menu.xml中進行更改,這些內容都將在您的設計中可見。

,如果你不希望content_menu.xml文件代替<include > tag你可以從這個文件複製一切activity_menu.xml並刪除content_menu.xml文件。

+0

哦,這樣更有意義。無論如何,這有什麼意義?一旦得到它,我會給你最好的答案! –

+0

有很多原因 1.將您的主要內容中的「工具欄」或「FAB(浮動動作按鈕)」等常見設計部分分開。 2.如果多個活動具有相同的內容或類似的佈局,使代碼可重用,這是最重要的原因。 3.增加代碼的健壯性和可讀性。 –

+0

好吧,在第二個提到可重用性。我們如何重用佈局,爲什麼不使用片段呢?另外,刪除「內容」可以嗎? –

相關問題