Fragment

fragment轻量级的Activity , Fragment不需要在清单文件中注册

使用Fragment的步骤:
    1.创建一个类,并且继承Fragment
    2.重写onCreateVeiw方法
    3.在oncreateView中使用inflater转换器把一个布局文件转换成view对象。
(Inflate()方法第一个为加载布局的id,第二个参数是给该布局的外部再嵌套一层父布局,如果不需要就直接传null.
    1.如果root(第二个参数)为null,第三个参数将失去作用,设置任何值都没有意义。
    2.如果root不为null.则第三个参数默认值为true,则给布局的外部再嵌套一层父布局,设为false则不给该布局加布局)

静态使用Fragment
  1. 在项目的资源中增加一个fragment的布局文件
  2. 继承Fragment,重写onCreateView决定Fragemnt的布局
  3. Activity的布局中添加Fragment(与添加普通的控件类似)。此处必须指明Fragment代表的哪个具体的Fragment类。(class属性或者是name属性,并且一定要给这个标签加id属性或者是tag属性

注意:

  1. 由于Fragment3.0新增,所以如果想兼容3.0以前的版本Fragment要使用V4包中的,使用FragmentActivity也要应用v4包中的FragmentActivity
  2. FragmentonCreateView必须实现,这个方法的返回视图决定了,这个Fragment的显示视图。

动态使用Fragment

1。在主类中使用一个 FrameLayout用来显示Fragment中的内容
2.创建一个类并继承Fragment
3.重写onCreateView方法。
4.使用转换器把布局文件转换成View对象,
5.把onCreateView方法中的返回值改为转换的view的句柄
6.在主类中把Fragment中的内容加载到主类中的FrameLayout中之前,需先进行如下操作:
    1.创建一个FragmentManager,得到管理器
    FragementManager fm = getFragmentManager();
    2.通过管理器得到事物----当Fragment的状态发生改变时,事物将丢失,所以在每次使用的事物后,都应重新创建
    FragmentTransaction tr = fm.beginTransaction();
    3.通过事物加载Fragment中的内容
    --使用add会造成当调用其他的fragment时,会把两个的内容显示到一起
    tr.add(主类中的FrameLayout的控件的id,继承Fragment的对象,tag);
      --是用这个会造成当前fragmeng的内容替换上一个fragment中的内容
    tr.replace(主类中的FrameLayout的控件的id,继承Fragment的对象,tag);
    4.通过事物提交--提交之后则显示在framelayout中
    tr.commit();
    



你可能感兴趣的:(Fragment)