Android Fragment

Android Fragment 是可以看成是一个小型的 Activity,又称 Activity 片段

想想,如果一个很大的界面,就一个布局,写起界面来会有多麻烦,而且如果组件多的话是管理起来也很麻烦

使用 Fragment 则可以把屏幕划分成几块,然后进行分组,进行一个模块化的管理,从而可以更加方便的在 运行过程中动态地更新 Activity 的用户界面

下图是文档中给出的一个 Fragment 分别对应手机与平板间不同情况的处理图

Fragment 不能单独使用,需要嵌套在 Activity中使用,会受到宿主 Activity的生命周期的影响,比如 Activitydestory() 销毁了,它也会跟着销毁

当然它也有自己的生命周期

Fragment 的生命周期图

  1. 官方文档说创建 Fragment 时至少需要实现三个方法: onCreate(),onCreateView(),onPause(),其实好像只要实现 onCreateView() 就可以了

  2. Fragment 的生命周期和 Activity 有点类似,有三种状态

    1. Resumed:在允许中的 Fragment可见
    2. Paused : 所在 Activity 可见,但是得不到焦点
    3. Stoped : 片段不可见。宿主 Activity 已停止,或片段已从 Activity 中移除,但已添加到返回栈。 停止片段仍然处于活动状态(系统会保留所有状态和成员信息)。 不过,它对用户不再可见,如果 Activity 被终止,它也会被终止

    4. 调用 addToBackStack(),Fragment 被添加到 Bcak 栈

    5. Activity 转向后台,或者该 Fragment 被替换/删除

      停止状态的fragment仍然活着(所有状态和成员信息被系统保持着),然而,它对用户 不再可见,并且如果activity被干掉,他也会被干掉.

Fragment的几个子类

  • 对话框: DialogFragment
  • 列表: ListFragment
  • 选项设置: PreferenceFragment
  • WebView界面: WebViewFragment

很多时候我们都是直接重写Fragment,inflate加载布局完成相应业务了,子类用的不多

注意: Fragment 同时存在与 android.app 包和 android.support.v4 包下,因为 Android 4.0 以下系统份额小的可以忽略不计,所以我们推荐使用 android.app 包下的 Fragment

参考文档

  1. Android Fragment

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.