Android之Fragment简述

原创 2015年11月19日 20:09:57

一、概述

Fragment中文意思是“碎片”,它是在Android 3.0 (API level 11)开始引入Fragment的。它与Activity十分相似,用来在Activity中描述一些行为或者一部分用户界面。

在Activity运行的时可加载或移除Fragment模块。一个Fragment在使用时必须要嵌入到一个Activity中。因此,我们可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入。

实际开发中,我们可以把Fragment设计成可以在多个Activity中复用的模块。当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。

                                                            

二、Fragment的生命周期

因为Fragment必须嵌入在Activity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。在实际应用中,宿主Activity暂停时,内部的Fragment也暂停,宿主Activity被销毁时,内部的Fragment也将被销毁。但是,当一个Activity处于resumed状态的时候(运行时),我们便可以对其内部的Fragment进行各种操作。比如加上或者移除Fragment。当这样进行fragment transaction(转换)的时候,可以把fragment放入Activity的back stack中,这样用户就可以进行返回操作。下图中清楚地描述了Fragment的完整的生命周期。

                                                                                                                 

上图中的几个重要的回调方法,简要介绍如下。

onAttach(Activity): 当Fragment与Activity发生关联时调用。

onCreateView(LayoutInflater,ViewGroup,Bundle):创建该Fragment的视图

onActivityCreated(Bundle):  当Activity的onCreate方法返回时调用

onDestoryView():  当该Fragment的视图被移除时调用

onDetach():  当Fragment与Activity关联被取消时调用

onCreate():  系统在创建Fragment的时候调用这个方法,这里应该初始化相关的组件,一些即便是被暂停或者被停止时依然需要保留的东西。

onCreateView():  当第一次绘制Fragment的UI时系统调用这个方法,必须返回一个View,如果Fragment不提供UI也可以返回null。注意,如果继承自ListFragment, onCreateView()默认的实现会返回一个ListView,不用自己实现。

onPause():  当用户离开Fragment时第一个调用这个方法,需要提交一些变化,因为用户很可能不再返回来。

        总结:上面的内容主要讲述了Fragment的主要概念,重要特点和好处。另外,着重讲述了Fragment的生命周期的相关知识。希望给初学Fragment的朋友带来帮助,后面的文章中将会介绍如何在Activity中静态的和动态的添加Fragment以及如何在宿主Activity中进行各个Fragment之间的通信,请继续关注。

android viewPage+fragment+GridView

  • 2017年12月01日 15:21
  • 20.47MB
  • 下载

Android Studio使用ViewPager+Fragment实现仿微信滑动切换界面

前言微信的滑动切换获得大家一致好评,在我们开发的过程中我们也经常模仿微信的导航效果。...

android Fragment的使用简例

  • 2016年04月08日 17:48
  • 636KB
  • 下载

Android 程式开发:(三)初识Fragment —— 3.4fragments实例之间的通信

通常情况下,一个activity可能包含一个或多个fragment,它们协同工作,组成一个连贯的UI界面。在这种情况下,多个fragments之间的通信显得就很重要了。举个例子,一个activity包...

android之fragment之ListFragment

  • 2016年07月04日 10:21
  • 1.47MB
  • 下载

Android fragment

  • 2015年06月01日 17:30
  • 2.12MB
  • 下载

Android Fragment 真正的完全解析(上)

自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~ 本篇博客力求为大家说明Fragment如何...
  • judyge
  • judyge
  • 2016年01月09日 21:21
  • 141

Android Fragment+限定符适配Demo

  • 2017年10月23日 17:10
  • 19.09MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android之Fragment简述
举报原因:
原因补充:

(最多只允许输入30个字)