由于TabActivity在Android4.0以后已经被完全弃用,那么我就不再浪费口水继续讲解它了,取而代之的是 Fragment。Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的 相似,这一篇我花大量的篇幅来详细的讲解Fragment的介绍和使用方法。
一、Fragment的基础知识介 绍
1.1概述
1.1.1 特性
Fragment是activity的界面中的一部分或一种行为。可以把多个 Fragment组合到一个activity中来创建一个多界面并且可以在多个activity中重用一个Fragment。可以把 Fragment任务模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时 被添加或删除。
Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受 所在的activity的影响。例如:当activity暂停时,他拥有的所有的Fragment都暂停了,当activity销毁时, 他拥有的所有Fragment都被销毁。然而,当activity运行时(在onResume()之后,onPause()之前),可以单 独地操作每个Fragment,比如添加或删除它们。当中执行上述针对Fragment的事务时,可以将事务添加到一个 栈中,这个栈被activity管理,栈中的每一条都是一个Fragment的一次事务。有了这个栈,就可以反向执行 Fragment的事务,这样就可以在Fragment级支持“返回”键(向后导航)。
当向activity中添加一个 Fragment时,它须置于ViewGroup控件中,并且需定义Fragment自己的界面。可以在layout.xml布局文件中声 明Fragment,元素为:<fragment>;也可以在代码中创建Fragment,然后把它加入到ViewGroup控件中 。然而,Fragment不一定非要放在activity的界面中,它可以隐藏在后台为activity工作。
1.1.2 生 命周期
onCreate():
当创建fragment时系统调用此方法。在其中必须初始化fragment的基础 组件们。可参考activity的说明;
onCreateView():
系统在fragment要画自己的界面时调用 (在真正显示之前)此方法,这个方法必须返回fragment的layout的根控件,如果这个fragment不提供界面, 那它应返回null;
onPause():
大多数程序应最少对fragment实现这三个方法,当然还有其它 几个回调方法可应该按情况实现之,所有的声明周期回调函数在“操控fragment的生命周期”一节中有详细讨 论。
下图为fragment的生命周期(它所在的activity处于运行状态)
开发教程 底部菜单栏(二)Fragment的详细介绍和使用方法-">