2013-01-19 74 views
2

好吧我正在開發一個應用程序,它有一個帶有按鈕的永久底欄,每個欄在酒吧頂部都會發起不同的活動(如Instagram應用程序)。'重複使用佈局'vs'viewflipper'的底欄

我正在尋找解決方案,看起來像我可以使用'viewflipper','reusing-layouts'或'actionbar'。我不想使用「操作欄」,因此不在圖片中。

所以'重複使用佈局'vs'viewflipper' - 這在性能,內存成本和有效表現方面更好(不刷新/重新加載每個活動更改)?或者你有更好的解決方案建議?

參考:
viewflipper:http://developer.android.com/reference/android/widget/ViewFlipper.html
重用佈局:與按鈕http://developer.android.com/training/improving-layouts/reusing-layouts.html

回答

1

確定我工作的一個應用程序具有永久的底欄,上欄的頂部各 推出不同的活動(如Instagram應用程序)。

我對Instagram應用程序並不熟悉,但它如何在酒吧頂部啓動不同的活動?我想你是指在點擊按鈕時出現在相同的Activity中的不同「內容」。

如此「重用佈局」 VS「viewflipper」 - 這是在 性能,內存的成本和效益呈現長期更好的(酒吧不 刷新/重載的每一次活動的變化)?

這兩個版本都會處理留在內容更改上的條(因爲您只有一個Activity),所以這不是問題。

在內存中重複使用佈局可能會更好,因爲一次只有一個佈局文件在內存中。不幸的是,使用佈局會更困難,因爲每次出現新佈局時都需要重新初始化這些佈局中的視圖(如果佈局彼此不同,將更難做到這一點)。

ViewFlipper將保留其子視圖,所以如果你有大量的屏幕顯示它不會很好的與內存。您可能可以創建一個系統來刪除ViewFlipper中目前不可見的子視圖,但我不會搞砸這個。

或者您是否有更好的解決方案建議?

片段。可重複使用的組件,更容易處理,從框架的協助(只要你不違背它),更容易處理各種屏幕布局...

+0

嗯,單個活動可以顯示不同的內容佈局/視圖(如gridview,framelayout,...)?我認爲'重複使用佈局'可以用於多個活動。 – jerrytouille

+0

@jerrytouille您可以在沒有任何問題的活動中重複使用佈局,問題是如果您使用不同的活動並且在每個活動中都包含按鈕欄,則用戶將看到在新活動啓動時刷新的欄。我以爲你想讓用戶看不到這種行爲。是的,你可以在一個'Activity'中使用不同的佈局,你可以在你想要的時刻和你想要多少次的時候,用新的佈局調用'setContentView'。 – Luksprog

+0

我在做'Fragments'的一些讀物,因爲我是新手,所以根據你的建議:假設我們在底部欄中有4個按鈕,每個btn都會啓動不同的片段?片段就像是一個迷你活動,擁有自己的組件,可以在單個「儀表板/主」活動中添加,刪除;因此,片段不僅僅是我們在「重用佈局」中使用的佈局/視圖。 – jerrytouille