因Activity单个界面上控件多,代码量大,不容易维护与排错,所以在Android3.0引入新Api。
Fragment(片段,碎片) 透明的
Fragment有自己的生命周期,它可以处理自己的插入事件。
功能:它可以将一个Activity分成几个小碎片,每个碎片都可以处理的自己本身的业务逻辑。
创建Fragment步骤:
1.定义一个类继承Fragment(一般用V4包下的)
2.重写其中的onCreatView() <oncreat> 等方法 进行操作
3.Activity需要继承子FragmentActivity。(如果是V4包下的)
4.引用到Activity中(静态或动态两种方式)
静态添加Fragment
在布局文件中使用标签<Fragment.../>元素添加Fragment
需要指定android:name属性 要写继承Fragment的类的全类名
Fragment动态添加
动态添加步骤
第一步:得到FragmentManager getSupportFragmentManager()
第二步:开启事务beginTransaction
第三步:添加Fragment 有两种 replace(属于直接替换的 就是只存在一个Fragment) add(都存在需要隐藏才能显示单一)
第四步:提交事务 commit;
Fragment的优点 :
1.Fragment简化了大屏幕UI的设计,开发者不需要管理组件的复杂关系;
2.Fragment对UI组件进行 分组,模块化管理,可以很方便的在运行过程中动态更新用户界面。
Fragment生命周期 类似Activity生命周期
onAttach():当该Fragment被添加到Activity时被调用,该方法只会被调用一次。
onCreat():创建Fragment时被调用,该方法只会被调用一次。
onCrateView():每次创建,绘制该Fragment的view组件时会调用该方法,Fragment会显示该方法返回的view组件。
onActivityCreate():当Fragment所在的Activity被启动完成后会调用。
onStart();启动Fragment时调用。
onResume():恢复Fragment时调用,(获得焦点),onStart方法后 一定会调用onResume()方法
onPause():暂停Fragment时调用。
onStop():停止Fragment时调用
onDestory():销毁该Fragment所包含的所有View组件
onDestoryView():销毁该Fragment时调用。该方法只会调用一次。
onDetach():将该Fragment从Activity中删除或替换完成时调用。onDestroy方法后一定会调用onDetach()。该方法只会调一次。