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

fragment笔记教程.doc

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

Fragment(碎片,片段):代表屏幕(也就是Activity)的一部分,相当于一个轻量级的Activity. 作用:按功能把屏幕(Activity)划分成几部分,提高了运行效率.和功能区分(补充:安卓平板3.0,手机4.0,以后出现的一个新型控件,所以要注意兼容问题.) 效果:在同一个Activity中切换不同的界面. 提示:故使用前必须把AndroidManifest.xml里uses-sdk属性内的最低版本android:minSdkVersion=8,改成大于11的参数方可. 注意:?两个包下的fragment创建思路,产生效果是一致的,但是具体方法,类名略有不同.? 继承fragment有两个包,一个是API自带的,不具备兼容性,一个是V4包下的,具有兼容性.一般我们开发最好用v4包下的. Fragment控件的创建流程有两种方式: 前提:自定义类去创建fragment ??? 1.自定义一个类继承Fragement,复写onCreateView方法,返回一个View(Fragment显示的布局内容,使用打气筒原理) ??????? public class xxx extends Fragment { ??????????? //系统第一次绘制Fragment的UI界面时调用, 需要返回一个view作为Fragement上显示的内容 ??????????? public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){ ??????????????? //使用填充器将一个布局转换成view对象 ??????????????? View view = inflater.inflate(R.layout.xxx(布局资源), null); ? ??? ??? ??? ? //把填充的布局返回出去 ??????????????? return?view;} ??????? } 提示:fragment里没有FindViewById()方法,所以不能直接使用,但是在View里有这个方法,故可以用view.findViewById()来替代 A.在需要引用Framgent的Activity布局中声明一个fragement控件标签,配置其4个属性,前3个属性缺一不可(不常用,我在开发中从来不用,但要知道) ??????? fragment ??????? android:name=包名.类名 ??????? android:layout_width=match_parent ??????? android:layout_height=match_parent ? ? ? ??android:id=@+id/XXXX/ ? B.在java代码里动态的使用Fragment(常用):(定义好之后,不论布局控件位置怎么换,只要id不变,Fragment的设置就不会改变) 提示:一个Activity类里创建一个FragmentManager对象即可,抽取为成员变量,可以反复调用. ? //非兼容模式的fragment.不能运行在4.0版本以下的手机上.实际Android发展到今天,公司在开发app时,已经不考虑4.0以下的手机用户了(看友盟统计). 0.创建一个继承了Fragment的自定义Fragment子类对象. fragment1?fragment1=new?fragment1(); 1.通过静态getFragmentManager,获取一个fragment管理对象,这个FragmentManager可以抽取为全局变量,反复使用. FragmentManager?fragmentManager?=?this.getFragmentManager(); 2.利用fragment管理对象,开启事务,获取一个事务对象(只要使用到了事务对象,最后都要用到commit()方法,提交事务,且这个不能抽取) FragmentTransaction?beginTransaction?=?fragmentManager.beginTransaction(); 3.使用Fragment事务对象,调用replace替换方法,将activity布局中的一个已经存在的控件(一般该控件为FrameLayout容器)替换成Fragment子类 //containerViewId:布局文件中Fragment将要替换的控件的id???? fragment:替换的Fragment???? tag:在Fragment管理器中为Fragment添加标示 beginTransaction.replace(R.id.temp,frag

文档评论(0)

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

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

1亿VIP精品文档

相关文档