Fragment是Android3.0开始引入的组件,它可以Activity分成多个可重用的组件,每个fragment都有自己的生命周期。
Fragment的生命周期
还不知道fragment生命周期的朋友可以去查一下,这里主要讲如何使用fragment。
onAttach()-onCreate()-onCreateView()-onActivityCreated()-onStart()-onResume()-onPause-onStop()-onDestoryView()-onDestory()-onDetach()
使用
1,创建新项目。
第一步2,准备MainActivity的XML布局,(动态添加fragment),界面下面4个按钮可以实现fragment的切换,fl_content做于容器来放置fragment(背景红色主要为了方便大家看布局,待会儿就删掉)
第二步3,Activity的XML布局我们写好了,那现在去写4个Fragment的子类,并且重写Fragment的OnCreateView方法(必须),fragment也需要XML布局文件,也准备对应的4个XML文件,为了方便,布局文件只是背景颜色不同,准备好了之后在Fragment的OnCreateView方法里面注入XML布局文件通过:View view = inflater.inflate(R.layout.fragment_find,container,false); 其它三个fragment的子类同样如此注入布局 (暂时不管Activity的代码,等我们把fragment准备好)
第三步4,Fragment准备好了,那么回到Activity,现在做一些初始化的操作:new fragmetn,findViewByID,实现OnClickListener的OnClick方法设置监听事件……
第四步5,fragment new出来了,那我们现在可以把它显示到我们的界面上了吧?我们先把fragment装进List方便操作,需要介绍一下需要用的类
FragmentManager:Fragment的管理器,主要用来对Fragment进行管理。它是一个抽象类,不能通过new来获取,需要通过getFragmentManager或getSupportFragmentManager获得
FragmentTransaction:事务,fragmentManager是以事务为单位来管理的,通过fragmentManager.beginTransaction()来获得一个FragmentTransaction对象,然后进行添加,替换,删除等,最后commit提交,这整个过程从begin到commit进行的所有操作就是一个事务,每个commit提交一个事务
然后来看一下我们现在实现的效果
第五步6,emmm,这个时候可以进行最后一步了,frgament的切换,直接看图看注释吧
第六步7,好了,结束了,fragment使用就这几个步骤,emmm 我这无法录制视频。但我手机上运行时没有问题的。大家有问题欢迎讨论,第一次写文章,有不足的欢迎大家提建议。
网友评论