Fragment必须嵌入到一个Activity中。它们的生命周期直接受其宿主Activity的生命周期影响。当一个Activity正在运行时,就可以独立的操作每一个Fragment,比如添加或者删除它们。Fragment可以定义自己的布局、生命周期回调方法,因此可以将Fragment重用到多个Activity中,因此可以根据不同的屏幕尺寸或者使用场合改变Fragment组合。
每个Fragment都有对应的布局文件,依据其使用方式可分为静态注册和动态注册两类。
静态注册是在布局文件中直接放置fragment节点,类似于一个普通控件,可以被多个布局文件同时引用。静态注册一般用于某个通用的页面部件,每个活动页面均可直接引用该部件。
使用静态页面需要注意的是:
- fragment节点必须指定id属性,否则会报错。
- 如果页面代码继承自Activity,Fragment类就必须继承自Android.app.Fragment,不能使用Android.support.v4.app.Fragment,否则会报错。
生命周期如下图:
静态注册在布局文件中直接指定Fragment,而动态注册直到在代码中才动态添加Fragment。实际上动态碎片就是给翻页视图用的,一般ViewPager和Fragment一起使用。