2013-02-07 32 views
0

我有按鈕的導航欄,我想多活動之間分享到:Android - 如何在活動之間保持UI元素靜態?

enter image description here

目前,當我開始同樣的活動(例如,點擊LOST.DIR)整個屏幕的變化,包括導航欄(出現新的文件夾列表)。

我想保持導航欄是靜態的(在相同的活動類型之間保持不變,或在開始新活動後不再改變或重新出現)。

這可能嗎?

+0

嘿,我回答你的問題?如果是的話,你是否可以接受答案的完整性。分享那麼愛! –

回答

7

這聽起來像你想使用一個活動和fragments

但是,如果你真的必須使用多個活動。另一種方法是使用操作欄,(actionbarsherlock非常適合此操作),並在不同的活動之間切換菜單。菜單下拉菜單可以是操作欄上的圖標列表,也可以是位於操作欄右上角的下拉式微調框。此操作欄在整個活動中將保持靜態,幷包含相同的類別列表(即導航欄的列表)。

1

不是馬上。活動與你想要的完全相反:它們是獨立的界面。

您可以使用Fragments,或將您的活動嵌入到主活動中。例如,TabHost這樣做。

+1

請勿使用TabHost。 TabHosts非常難看,難以管理(特別是在單獨的活動中),並且通常不建議。 –

0

完全控制的一種方法是編寫自己的自定義類,它將LinearLayout作爲構造函數參數,並處理每個按鈕的可見性,單擊派發(通過委託),圖像等。

添加方法來完成上述所有操作以及您需要的任何其他功能。

在每個活動佈局中創建一個layout.xml。

在每個Activity中實例化您的按鈕欄類,並將它在您的內容視圖中通過findViewById獲得的佈局的引用傳遞給它。

正如其他人所說,現有的解決方案,你可能會問「爲什麼要發明一個新的車輪」。我剛剛在我的許多項目中使用了這樣的課程,而且在完成第一版課程的過程中做了很多工作,但是現在我有一門課程,可以輕鬆完全控制,添加,修復和自定義課程。

事情是這樣的:

bar.setButtonClickHandler(Button.Favourites, favouritesButtonClickHandler); 
bar.setButtonVisibility(Button.Edit, View.INVISIBLE); 

我用過的LinearLayout,但如果我有需要使用別的東西,這是一個簡單的事情重載構造函數接受,爲例如,一個RelativeLayout參數。

相關問題