fragment概述 碎片
- fragment是用户界面的一部分,可以看成一个View,有自己的生命周期,接收自己的输入事件,可以添加 删除 替换
- fragment不能单独,需要依附在Activity上面,主要的作用是为了在屏幕上支持更加动态和灵活的ui设计,并且可以将activity里面的逻辑进行分离.
- fragment是3.0(11)之后才出现的
fragment写法
- 写一个类继承fragment,重写里面的onCreateView方法 获得系统服务WindowsManager 然后获取Display碎片事务 通过事务替换activity中需要使用fragment替换的控件
- fragment在布局中一定要指定id和name属性 而且必须在onCreateView方法里面创建View
如果布局很复杂就使用LayoutInflater加载
Fragment与Activity的传值
- Activity中直接可以通过new fragment的子类的对象,通过调用对象获取fragment里面的方法以及变量
- Fragment子类可以通过getActivity方法获得所在的activity的对象
低版本如何使用fragment
- 需要使用v4包中的fragment(v几代表向下兼容到几 v4现在基本代表向下兼容到最低版本)
- 在需要使用fragment的activity需要继承FragmentActivity
- 在获取窗口管理者的时候需要使用getSupportFragmentManager方法获取
Fragment的生命周期
- onAttach() fragment附加在Activity之上
- onCreate() 生命周期来开始
- onCreateView() 创建要显示的控件
- onActivityCreated() Activity的生命周期开始 Fragment和Activity就在一起了
- onStart() 启动
- onResume() 显示在前台
- onPause() 暂停
- onStop() 停止
- onDestoryView() 销毁自身的控件
- onDestory() 销毁自己
- onDeatch() 与Activity分离