一 什么是Fragment?
Fragment是android3.0新增的概念,与Activity十分相似,用来在一个Activity中描述一些行为或一部分用户界面。使用多个Fragment可以在一个单独的Activity中建立多个UI面板,也可以在多个Activity中重用Fragment。
一个Fragment必须被嵌入到一个Activity中,它的生命周期直接受其所属的宿主Activity的生命周期影响。
二 创建Fragment
要创建一个Fragment,必须创建一个Fragment的子类,或者继承自另一个已经存在的Fragment的子类。如
<pre name="code" class="java">public class Fragment1 extends Fragment{
@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View v = inflater.inflate(R.layout.fragment1, container,false);return v;}}
向Activity中添加Fragment有两种方法:一种是直接在布局文件中添加,将Fragment作为Activity整个布局的一部分;另一种是当Activity运行时,将Fragment放入Activity布局中。
(1) 静态加载Fragment(直接在布局文件中添加)
<pre name="code" class="java"><fragment
android:id="@+id/fragment_xml"
android:name="com.example.fragment.Fragment1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
android:name 属性用于指定要添加Fragment
(2)动态加载Fragment
Fragment1 f1 = new Fragment1();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(android.R.id.content,f1);
ft.commit();