1. Fragment直观印象
Fragment : 片段、碎片。是一部分内容构成的片段,体现在屏幕上是一块内容区域。
上图是常见的页面结构:底部四个导航菜单,上面整块区域是对应的内容页面。点击每个菜单,上面的内容页面切换到对应的内容页。而每个内容页,通常就是一个Fragment。在四个内容页切换过程中,整体的Activity是不变的。
2. 为什么要有Fragment?
在Fragment之前,我们通常把一个Activity作为一个页面。但随着页面元素的增加以及场景的复杂,单个页面已经不能满足需要,在屏幕上通常要同时展示多个区域、多个页面内容,这些内容的切换通常是整体的。因此,为了让一个页面展示更多内容,以及对这些内容统一管理,引入了Fragment这个东西。
3. Framment的详细理解
- Fragment,就是将一块内容区域封装在一起,统一管理,构成一个Fragment。
- Fragment是依附在Activity上而存在的。一个Activity中可以有多个片段,也就是可以有多个Fragment,各个Fragment之间可以传递数据、互相切换。
- Fragment与Activity很相似,也有生命周期函数,也就是onCreate、onPause、onDestroy等方法。
除了与Activity同名的那些方法,它还有onCreateView等独有的生命周期方法。
如下是一个Fragment从开始到结束的生命周期流程:
onAttach->oncreate->onCreateView->onViewCreated->onActivityCreated->onStart->onResume->onpause->onStop->onDestroyView->onDestroy->onDetach
- Fragment可以说是对页面更精细、轻量的一种组织形式。
4. 总结
通过本小节,我们可以对Fragment有一个基本的认识:
它是依附在Activity上的某些视图控件组成的“片段”页面,方便我们在有限的屏幕上展现和管理更多的内容。