Fragment是一種嵌入在Activity中的UI片斷,它能夠用來描述Activity中的一部分佈局。android
若是Activity界面佈局中的空間比較多比較複雜,用Activity管理起來比較麻煩,能夠用Fragment把屏幕劃分幾個片斷,進行模塊化管理,能夠使程序更加合理和充分地利用屏幕的空間。app
Fragment生命週期:ide
1. 當一個fragment被建立的時候,它會經歷如下狀態.模塊化
2. 當這個fragment對用戶可見的時候,它會經歷如下狀態。佈局
3. 當這個fragment進入「後臺模式」的時候,它會經歷如下狀態。spa
4. 當這個fragment被銷燬了(或者持有它的activity被銷燬了),它會經歷如下狀態。code
5. 就像activitie同樣,在如下的狀態中,能夠使用Bundle對象保存一個fragment的對象。xml
6. fragments的大部分狀態都和activitie很類似,但fragment有一些新的狀態。對象
建立fragmentblog
ublic class NewListFragment extends Fragment { public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle saveInstanceState) { View v= inflater.inflate(R.layout.fragment, container, false); return v; } }
加載fragment
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is fragment list" android:textColor="#000000" android:textSize="25sp" />
package net.nowamagic.nm_painting_v1; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class ListFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub //return super.onCreateView(inflater, container, savedInstanceState); return inflater.inflate(R.layout.fragment_list, container, false); } }