Fragment功能详解

(1)Fragment可以作为Activity界面的一部分组成出现

(2)可以再一个Activity中同时出现多个Fragment,并且一个Fragment也可以再多个Activity中使用

(3)在Activity运行过程中,可以添加,移除或替换Fragment

(4)Fragment可以响应自己的输入事件,并且有自己的生命周期,他们的生命周期会受宿主Activity的生命周期影响

 

onCreateView()方法

Fragment第一次绘制它的用户界面的时候,系统会调用此方法,为了绘制Fragment的UI,此方法必须返回一个View,如果不显示UI,返回null即可。


Fragment加载方法

(1)静态加载

在Activity的layout文件中声明Fragment,需要特别注意的是<fragment>中的android:name属性制定了在layout中实例化的Fragment类


标识Fragment的方法

android:id属性提供一个唯一ID

android:tag属性提供一个唯一字符串

(2)动态加载

撰写代码将Fragment添加到一个Activity layout中 add():添加一个Fragment(指定要添加的fragment和插入的View) 与此类似的还有remove(),替换()


处理Fragment事务

根据用户的交互情况,对Fragment进行添加,移除,替换,以及执行其他动作,提交给Activity的每一套变化被称作一个事务。

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction beginTransaction = fragmentManager.beginTransaction();

每一个事务都是同事执行一套变化,可以在一个事务中设置你所有想执行的变化,包括add(),remove(), replace(),然后提交给Activity,必须调用commit()方法


如果允许用户通过按下BACK按键返回到前一个Fragment状态,调用commit()之前可以加入addToBackStack()方法


Fragment与Activity通信

   > Fragmen的生命周期

         关键方法:

                    onAttach()

                    onCreateView()

     全部方法:

      (1)启动Fragment

                      onAttach()    ====>onCreate()  ====>  onCreateView()   ===> onActivityCreated()   ===>   onStart()  ===>onResume()

      (2) 屏幕锁屏

             onPause()   ====>  onStop()

      (3) 屏幕解锁

              onStart()  ====>  onResume()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值