学习笔记(三)——大名鼎鼎的Fragement

来源:互联网 发布:python下怎样安装mysql 编辑:程序博客网 时间:2024/06/10 09:30

Fragement

Fragement是activity界面的一部分,我们可以用Fragement来解决android众多设备因屏幕尺寸不同导致的适配问题。Fragement的主要特点:

  • 多个Fragement可以组合在一个activity中;
  • 多个activity中可以重用一个Fragement
  • Fargement相当于模块化一段activity
  • 在activity运行时被添加和删除

Fragement的生命周期:

Fragment必须是依存于Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期
这里写图片描述
可以看到Fragment比Activity的生命周期多回调方法:
onAttach(Activity)
当Fragment与Activity发生关联时调用。
onCreateView(LayoutInflater, ViewGroup,Bundle)
创建该Fragment的视图
onActivityCreated(Bundle)
当Activity的onCreate方法返回时调用
onDestoryView()
与onCreateView想对应,当该Fragment的视图被移除时调用
onDetach()
与onAttach相对应,当Fragment与Activity关联被取消时调用

Fragement的使用方法:

  • 静态使用Fragement: 把Fragment当成普通的控件,直接写在Activity的布局文件中
    步骤:
    • 继承Fragment,重写onCreateView方法
    • 在Activity的布局文件中声明此Fragment
  • 动态使用Fragement:通过代码实现Fragement的增加,删除,和修改。

    对Fragement的管理,要用到FragementManager和FrageTransaction,老师的一个形象的比喻FragementManager是校长,FrageTransaction是校长助理,Fragement是要处理的事务。
    获得FragementManager和Tracsaction的实例的方法:
    FragmentManager fragmentManager=getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

    我们可以助理实例化的对象调用add(),remove(),replace()等方法处理事务,但是在最后要调用commit()方法来确认执行,否则会报错。

有一些关于Fragement的实例应用和相关的补充知识,大家可以参考一下:
http://blog.csdn.net/lmj623565791/article/details/37970961

0 0