1. 程式人生 > >android 碎片的簡單應用

android 碎片的簡單應用

碎片(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。

 

效果如下