Android Fragment



介绍:

(一)Android在3.0中引入了Fragment的概念,主要目的是用在大屏幕设备上—例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机大的多,有更多的空间放更多的UI组件,并且这些组件之间会产生更多的交互

(二)Fragment在你的应用中应当是一个模块化和可重用的组件,因为Fragment定义了他自己的布局,以及通过使用他自己的生命周期回调方法定义了他自己的行为,你可以将Fragment包含到多个activity中

(三)【Fragment知识概要】

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

(2)可以在一个activity同时多个Fragment,并且一个Fragment可以运行在多个activity中使用

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

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

Fragment的生命周期:



上图: Fragment的生命周期                         下图:Activity的生命周期和Fragment的生命周期的比较

Fragment的生命周期只有开始创建和结束的地方与Activity不同;

2,生命周期的分析;

1,创建时;

 onAttach() 

onCreate()

onCreateView()

onActivityCreated()

2,对用户可见

onstart()

onResume()

3,进入后台模式时;

onPause()

onstop()

4,退出时;
•onPause()
•onStop()
•onDestroyView()
•onDestroy()
•onDetach()

5,横屏切换时;

先销毁再重新创建

设置Fragment不重新创建需要在主配置文件设置

android:configChanges="orientation|screenSize"


如何在两个fragment间切换

 替换fragment的过程跟add差不错,区别就是一个是replace()函数,一个是add()函数。时刻要注意的是当执行fragment操作,比如替换或者移除一个fragment,用户经常的操作是回退(backward)或者还原(undo)操作。为了支持用户的这些操作,我们要在commit()一个FragmentTransaction之前先调用函数addToBackStack()函数。
 注意:当移除或者替换一个fragment,并且将这个操作放入back stack(回退堆栈?),当fragment被移除的时候,fragment是停止的(并非销毁)。如果用户要回退,会从堆栈中取一个fragment并且重启(restart)它。如果没有加入back stack,当移除或者替换的时候,这个fragment就直接被销毁了。

切换fragment如下:


FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, 新的fragment);
transaction.addToBackStack(null);
transaction.commit();

传参数到新的一个fragment

            Bundle args = new Bundle();
            args.putString("name", "jack");
            newFragment.setArguments(args);




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值