Fragment使用心得

1、Fragment依附於ViewGroup作爲其顯示的容器。可以認爲它是掛載在ViewGroup下面的。
所以使用getSupportFragmentManager().beginTransaction().replace的時候是替換不掉ViewGroup下面原生的View的(原生指的是在xml中定義的,不能動態切換的View),只能替換掉依附在上面的其他Fragment。

所以replace android.R.id.content的時候,如果沒指定背景,會發現Fragment與原生界面發生重合,說明fragment不能替換掉原生的View。

所以想做成切換Activity那樣的效果。就要在這麼做:
1、Activity加載一個空界面。
2、onCreate時向android.R.id.content加入一個Fragment
3、切換時用另一個Fragment替換掉上述的Fragment。形成了類似Activity的切換效果。(過渡動畫可以自定義)

2、getSupportFragmentManager與getFragmentManager不能混用,雖然它們兩個效果是一樣的,但是屬於兩個獨立的Fragment管理體系,混用的話,就會發生重疊。(比如都向同一個容器replace Fragment,兩者會同時出現)(應該沒人會這麼用吧)

3、不要以爲FragmentActivity就是用來做類似Activity切換的用途,其實不要被名字迷惑,不過就是爲了支持3.0以下支持Fragment的一個Activity而已。AppCompatActivity也是繼承於FragmentActivity。用作最新SDK的設計風格顯示。

4、Fragment真的很強大。主要兩點感受:
1、模塊化,將一個Activity分割成多個功能模塊,方便管理、代碼清晰、容易移植。
2、輕量切換,由於少了Activity的AMS調度,減少了不同界面之間切換的成本。做到應用提速。但是缺點就是由於都是一個Activity,不能外部直接調用某功能模塊,建議類似功能做到同一Activity中,不同功能還是分開Activity

隨手筆記,沒空排版

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章