android 碎片的簡單應用
阿新 • • 發佈:2019-01-01
碎片(Fragment)是一種可以嵌入在活動中的UI片段,可以理解成一個迷你活動。
碎片的簡單用法
在一個活動中新增兩個碎片,兩個碎片平分活動空間
1.新建一個左側碎片佈局left_fragment.xml,這個佈局只放置了一個按鈕,並讓他水平對齊。
2.然後再建一個右側碎片佈局right_fragment.xml
3.新建一個LeftFragment類,讓他繼承自Fragment.
這裡使用suppore-v4包。可以讓所有的android 系統版本保持功能一致性,如果說你使用的是系統內建低的Fragment,那麼4.2之前的裝置執行就會奔潰,雖然說現在基本找不到4.2之前的裝置。。。
上面這裡重寫了Fragment的onCreateView()方法,然後在這個方法中通過LayoutInflater的inflate()方法將剛才定義的left_fragment佈局動態載入進來。
4.接下來再重建一個RightFragment類,功能一樣。
5.然後修改activity_main.xml中的程式碼
這裡使用<fragment>標籤在佈局中新增碎片。注意這裡還需要顯式的指明要新增的碎片類名,一定也要將類的包名帶上。
效果如圖,兩個碎片平分了活動佈局
接下來,在上面的基礎上,學習動態新增碎片
碎片的強大之處就在於,可以在程式執行的時候,動態的新增到活動中,根據具體的情況來動態的新增碎片。
1.新建一個another_right_fragment.xml,這個程式碼和上面的right_fragment.xml程式碼基本相同,只是將背景色改成了黃色,並將顯示的文字改了改。
2.然後新建AnotherRightFragment作為另一個右側碎片。在onCreateView()方法中載入了剛剛建立的another_right_fagment佈局,這樣就建立好了另一個碎片。
3.修改activity_main.xml
可以看到將右側碎片替換成了一個FrameLayout中。
FrameLayout佈局是安卓最簡單的一個佈局,它所有的控制元件都會被擺放在左上角。
如圖示例
4.接下來修改MainActivity中的程式碼。
首先,給左側碎片中的按鈕註冊了一個點選事件,然後呼叫replaceFragment()方法,動態的新增RightFragment這個碎片,當點選左側碎片時,又會呼叫replaceFragment()方法將右側碎片替換成AnotherRightFragment。
效果如下