天天看点

Fragment介绍

Fragment允许将Activity拆分成多个完全独立封装的可重用的组件,每个组件有它自己的生命周期和UI布局。

Fragment最大的优点就是你可以为不同屏幕大小的设备创建灵活动态的UI.

每个Fragment都是独立的模块,并与它所绑定的Activity紧密联系在一起的。多个Activity可以共用一个Fragment. Fragment为大量的不同型号、尺寸、分辨率的设备提供了一种统一的 UI优化方案。

可以通过继承Fragment类来创建一个新的Fragment.在大多数情况下,需要为Fragment分配一个UI,也可以为Activity创建一个没有任何UI但提供后台行为的Fragment.

和Activity不同,Fragment不需要在mainfest.xml文件中注册,这是因为Fragment只有嵌入到一个activity时,它才能够存在,它的生命周期也依赖于它所依赖的activity.

可以通过一个程序来观察其生命周期:

Fragment完整的生命周期开始于绑定到它的父Acitvity,结束于父Activity上分离。通过分别调用onAttach和onDetach来表示这些事件。

onAttach事件在Fragment的UI创建之前,以及Fragment自身或它的父Activity完成它们的初始化之前会被触发。通常情况下,onAttach事件用来获取一个Fragment的父Activity的引用,为进一步的初始化工作做准备。