网站大量收购独家精品文档,联系QQ:2885784924

安卓中Fragment详解篇.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安卓中Fragment详解篇

FragmentAndroid中的fragment其实就类似于activity,在它上面可以做任何类似于activity的布局,但实质是fragment相当于一个位于activity上的view,因为activity中可以有多个view,所以一个activity中就能有多个fragment,这些fragment一般存放在viewgroup中便于管理。要创建一个fragment必须创建一个Fragment的子类,也就是创建一个extends Fragment的类,fragment的类和activity也是十分的类似,具有很多相似的方法,如onCreate(),onStart()等,一般会实现以下几个生命周期方法:onCreate():当创建fragment时,系统会调用此方法在实现代码时,应该初始化想要在Fragment保持的必要控件,例如fragment中要一个按钮,就可以在这里findviewbyid。当Fragment被暂停或停止后可以恢复。onCreateView:Fragment第一次绘画他的用户界面时就会调用此方法,为了绘画fragment的UI,必须返回一个view。onPause:用户离开fragment时系统会调用此方法。在用户会话结束之前,通常应在这里提交任何应该持久化的变化(因为用户可能不放回)建立一个用户界面的步骤:首先是在需要添加fragment的那个activity的xml布局文件中添加一个ViewGroup,这样就可以管理fragment,同时这个区域也是用来显示fragment的,最简单的一个ViewGroup就是直接在xml文件中定义一块区域就行了,例如:有关ViewGroup: /linghu_java/article/details/9838873然后是新建一个xml的布局文件为你需要创建的fragment进行布局,这个布局文件中应该添加各种你自己需要加的控件以及你需要的布局样式:例如:最后就是建一个fragment子类,在这个子类中调用onCreateView方法就能将你的布局绘画出来。从onCreateView返回view,需要从布局资源文件中读取并生成,为了帮助开发人员完成这个工作,onCreateView方法提供一个LayoutInflater对象PublicView onCreateView(LayoutInflater inflater,ViewGroup container,BundlesavedInstanceState){return inflater.inflate(R.layout.example_fragment,container,false);}其中的R.layout.example_fragment就是你为你的fragment设置的布局文件当然也可以直接在activity里面直接定义一个fragment,这样fragment就相当于一个固定的控件,这里需要特别定义一个属性:name这个属性的值是你定义的fragment子类的绝对路径。4.Fragment常用的三个类:android.app.Fragment 主要用于定义Fragmentandroid.app.FragmentManager 主要用于在Activity中操作Fragmentandroid.app.FragmentTransaction 保证一些列Fragment操作的原子性,熟悉事务这个词,一定能明白~a、获取FragmentManage的方式:getFragmentManager() // v4中,getSupportFragmentManagerb、主要的操作都是FragmentTransaction的方法FragmentTransaction transaction = fm.benginTransatcion();//开启一个事务transaction.add()?往Activity中添加一个Fragmenttransaction.remove() 从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈(回退栈后面会详细说),这个Fragment实例将会被销毁。transaction.replace()使用另一个Fragment替换当前的,实际上就是remove()然后add()的合体~transaction.hide()隐藏当前的Fragment,仅仅是设为不可见,并不会销毁transaction.show()显示之前隐藏的Fragmentdetach()会将view从UI中移除,和remove()不同,此时fragment的状态依然由FragmentManager维护。attach()重建view视图,附加到UI上并显示。mit()//提交一个事务值

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档