現在很多APP的樣式都是底部頁籤做為首頁的,實作這樣的效果,我們一般有這樣幾種方式,第一,最屌絲的做法,我直接自定義頁籤視圖,通過監聽頁籤視圖,邏輯控制内容頁的切換,這樣做的想法一般是反正這幾個界面基本都是常駐記憶體的,不用去關心它的緩存和回收。第二種,用TabHost或者更靈活點用ActivityGroup來實作,讓ActivityGroup來幫我們管理我們的活動——Activity,記憶體不夠時,處于未激活狀态的Activity可能會被回收,這樣做才合理。當我們用3.0以上的編譯環境編譯我們的程式時我們發現,我們在用ActivityGroup的地方會被過時符号标記,說ActivityGroup已經過時,請使用Fragment和FragmentManager,那麼,第三種,就是用Fragment來實作。關于Fragment的介紹,官方文檔,http://developer.android.com/guide/components/fragments.html
其實很多人想知道Fragment的好處在什麼地方,首先懷疑的心可以有,但是大部分情況下我們應該相信Google,文檔上說讓我們用一定有他的道理。其實在Fragment介紹頁中提到了,Fragment的出現是為了降低ActivityGroup的權重,這時我們可以猜想一下,相同頁面顯示的一個Fragment對象和Activity對象所占用的記憶體應該不是在一個水準上的,顯然Activity的功能更多,屬性更多。是以這也就是為什麼說Fragment降低了ActivityGroup的權重。
至于Fragment實作底部頁籤效果的實作,我這裡寫了一個demo,代碼很清晰。想看的可以下載下傳看一下,http://download.csdn.net/detail/wangduanqing5945/6800939,沒分的直接管我要。
運作效果截下圖吧,點選可以切換。
