2012-10-19 35 views
0

我想在我的應用程序中的活動之間做繼承。
我想爲我的所有應用程序創建「常規活動」樣式。Android - 繼承活動,使風格

例如,該「一般活動」包括toolbarstatusbar。我想在我的程序的每個活動中都顯示。

我寫的BaseActivity佈局這樣的:

<include layout="@layout/titlebar" /> 
<!-- Some control that can contain layout --> 
<include layout="@layout/statusbar" /> 

和延伸BaseActivityMainActivity
我想在代碼中插入MainActivity的佈局到BaseActivity上的特定空間。

有沒有可能這樣做?如果是的話,我怎樣才能在這個BaseActivity的特定空間中設置我的繼承活動的佈局? 有任何可以包含佈局的控件?

回答

1

這可以從java端(注意,我還沒有嘗試過),這裏是一個例子Reusing layout XML and the code behind

這也可以通過佈局完成。

您必須爲工具欄或狀態欄創建單獨的佈局(xml),然後您必須包含所需的佈局。

Re-using Layouts將有助於鏈接和Android Layout Trick #2: Include to Reuse

+0

我在我的BaseActivity中做了標籤。我只是想把圖層放在它們的中間。要做到這一點,我必須在每項活動中使用標籤? BaseActivity不是必需的嗎? – nrofis

+0

你是什麼意思'我在我的BaseActivity中做了標記。'?你在使用包含在Java代碼? –

+0

不,在我的BaseActivity的xml layut文件中。我更改了我的問題以獲取更多信息...... – nrofis

1

當然,它有可能。 你會像做任何Java繼承一樣做。 你會想要創建一個BaseActivity這將extendActivity。您的其他Activities,extendBaseActivity。 並非總是如此,但通常情況下,您會希望BaseActivityabstract class。你不想創建它的實例。 因此,您應該撥打setContentViewEXTENDINGActivity。這樣每個Activity將有自己的佈局。

+0

我'BaseActivity'和'MainActivity'。我如何將'MainActivity'的佈局放在'BaseActivity'的特定空間中? – nrofis

+0

做了一個編輯,希望它有幫助。 – Givi

+0

我明白了,但如果我調用'setContentView',它會刪除我的工具欄和狀態欄,並顯示新的佈局。我怎樣才能把他們之間的新佈局?有一個可以包含佈局的控件? – nrofis