2012-10-18 205 views
0

我想在佈局文件和xml文件之間合併。 但是,我的問題是,我該如何動態地做到這一點。Android - 添加動態xml到佈局

我的意思是我有一般的工具欄文件,其中包含:我的應用程序圖標,按鈕的活動名稱和linearlayout空間。我想將此工具欄合併到每個活動中,以便所有活動都可以將其自己的按鈕放入工具欄中的線性佈局中。

我試圖做到這一點,我寫了layout文件夾中名爲toolbar.xml的工具欄文件。 並且每個活動都包含這個toobar:<include layout="@layout/toolbar.xml" />,但我不知道如何插入按鈕。

我可以只使用xml的活動嗎?

回答

0

要添加代碼按鈕(我猜是你想要做的),你只需要有一個容器,你的按鈕應該插入到。你可以只添加<LinearLayout>到您的佈局XML文件(確保你的佈局得到了ID,即:

<LinearLayout> 
    ... 
    android:id="@+id/button_container"` 
</LinearLayout> 

他們,你的代碼中創建您的按鈕任何其他對象:

Button myButton = new Button(mContext); 

然後找到你的按鈕集裝箱:

LinearLayout buttonContainer = findViewById(R.id.button_container); 

並添加按鈕,將其:

buttonContainer.addView(myButton); 

要了解更多信息請參見ViewGroup documentation

+0

它只能與XML做什麼?我的意思是不涉及Java代碼。 – nrofis

+0

取決於你真正需要的東西(你的問題對我來說並不完全清楚 - 「按鈕空間」menas你不知道按鈕會在那裏,所以你需要從代碼創建它)。 XML文件不能被修改,所以如果你需要動態創建按鈕集,那麼「不」。另外''不能再有條件,因此「否」。但如果你知道按鈕是什麼,那麼你可以創建單獨的佈局文件**每個組合**。在這種情況下最好在代碼中這樣做 –

+0

我的意思是每個活動都有const按鈕。即:主要活動有添加聯繫人和設置按鈕,聯繫人活動已接受或取消更改按鈕。每個活動都有const按鈕,它取決於活動。 – nrofis