Android是在Android3.0(API level 11)开始引入Fragment的。Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个Activity中,我们可以合并多个Fragment在一个单独的Activity中建立多个UI面板,或者重用Fragment在多个Activity中。

当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。如图:

关于Fragment的生命周期,由于Fragment需要嵌入在Activity中使用,所以Fragment必须依赖Activity,也就是说当Fragment的生命周期和它所在的Activity是密切相关的。

如果Activity是暂停状态(Pause),其中所有的Fragment都是暂停状态(Pause);如果Activity是停止状态(stopped),那么这个Activity中所有的Fragment都不能被启动;如果Activity被销毁,那么它其中的所有Fragment都会被销毁。

但是,当Activity在活动状态,可以独立控制Fragment的状态,比如加上或者移除Fragment。

当这样进行fragment transaction(碎片切换)的时候,可以把fragment放入Activity的back stack(返回栈)中,这样用户就可以进行返回操作。就是在transaction提交前(commit前),加一句transaction.addToBackStack(null);即可。

下图为Fragment的生命周期整理笔记:

更多相关文章

  1. [转]Android(安卓)WiFi 电源管理
  2. Android(安卓)fragment介绍
  3. Android网络状态实时监听实例代码(二)
  4. Android如何获取系统高度、标题栏和状态栏高度
  5. android 休眠唤醒机制分析(二)
  6. Android自定义Button按钮显示样式
  7. Android(安卓)广播的生命周期
  8. Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android(安
  9. android 购物车 listview嵌套问题

随机推荐

  1. java基础知识
  2. Java常用的时间工具类DateTimeUtils.java
  3. 手把手带你爬天猫,获取杜蕾斯评论数据
  4. Oracle19c_cdb数据库自动安装部署脚本
  5. 当谈论迭代器时,我谈些什么?
  6. Python 之父撰文回忆:为什么要创造 pgen
  7. 从 Python 之父的对话聊起,关于知识产权、
  8. Python 为了提升性能,竟运用了共享经济
  9. 如何美观地打印 Python 对象?这个标准库可
  10. Python 浮点数的冷知识