Fragment详解(1)

本文详细介绍了Fragment的产生意义,如适配不同设备尺寸和减轻Activity负担。重点讲解了Fragment的生命周期,包括创建、与Activity同步及销毁阶段的各个方法。此外,还探讨了Fragment的静态与动态使用,特别是动态添加Fragment的实现方式。最后,讨论了FragmentTransaction的常见方法及其对Fragment生命周期的影响。
摘要由CSDN通过智能技术生成

嗨!又和大家见面了(每次都是这个开场白有点瓜,,下次换一个-。+),之前我们介绍过Activity,他在UI显示和用户交互的过程中起着重要的作用,但是除了Activity之外,我们还有一个类,也负责同样的功能,他就是Fragment,相信大家也用到过,今天我们详细的讲解一下这个Fragment类。

一、产生意义

1.为了适配不同尺寸的手机以及平板和手机的适应。

    这个应该很好理解:我们以前在做应用开发时候,首先需要先针对手机开发一套App,然后在针对平板的尺寸开发另一套App(布局修改),但是这样很捞啊,不但麻烦,而且也做了很多无用功,而Fragment的出现完美的解决了这个问题:Fragment可以被放在Activity的布局中,使我们的视图是由一块块Fragment组成的,这样我们可以根据尺寸的不同进行Fragment的调整。从而解决上述问题。

2.减轻Activity负担。

    Fragment也是有自己的生命周期的,而且由于跟Activity绑定,有些生命周期是和Activity同步的(onStart、onResume之类),所以我们的一些在Activity进行用户操作的逻辑代码,可以写到Fragment中,减少了Activity的代码量。

二、生命周期

直接上图可能更明确些:

       

这里有两张图(反正都不是我画的-。+,但是这两张图是真的棒,所以我粘贴过来了):

    第一张是Fragment相对比较完整的生命周期,我们注意到当Fragment即将失去焦点时(绿色方框下面),他有两种情况,一种是将Fragment添加到退回栈(back Stack),还有一种情况是没有添加。他们在进行到onDestroyView方法之后生命周期是不相同的,这里只是稍微提一下,今天我们讲的不涉及到退回栈。

    第二张图是Activity生命周期方法和Fragment生命周期方法的联系,我们注意到中间的几个方法Activity和Fragment是同步的。

接下来简单地描述一下相关生命周期方法:

  • onAttach:让Fragment和Activity关联,此时关联的Activity已经被传进来,可以通过getActivity获取Activity实例(但是有些时候使用需要强转)。
  • onCreate:在Fragment实例被创建时候调用。
  • onCreateView:Fragment视图创建过程。
  • onViewCreated:当onCreateView方法返回后立即调用,此时Fragment的层次结构还没有添加到父节点上(这个方法一般没有被提到,但是我想在这里提一下。)
  • onActivityCreated:当Activity创建完成,而且该Fragment的层次结构也被实例化,调用。
  • onStart:在Fragment可见的时候调用,通常与Activity的生命周期相关联。
  • onResume:当Fragment可见而且可获取焦点时调用,通常与Activity的生命周期相关联。
  • onPause:当Fragment失去焦点时调用,通常与Activity的生命周期相关联。
  • onStop:当Fragment不可见时候调用,通常与Activity的生命周期相关联。
  • onDestroyView:当Fragment与其先前创建的视图分离时调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值