Fragment:即碎片,是可以嵌入在Activity中的UI片段。
一、Fragment的简单使用
1.新建一个布局文件fragment_xxx.xml;
2.新建一个类xxxFragment继承Fragment类,重写OnCreateView()方法导入布局文件;此时,准备工作完成。
3.在activity的布局文件activity_xxx.xml中使用该Fragment
<fragment ....... android:name="com.xxx.xxxFragment" ....../>
二、Fragment的通信
1.在Activity中使用Fragment对象
在Activity中,可以通过Fragment xxxFragment = Fragmanager.findViewById(R.id.xxxfragment)获得Fragment对象
2.在Fragment中获得Activity对象
在Fragment中,可以通过XXXActivity xxx = (XXXActivity) getActivity();获得和当前碎片相关的Activity(Context)实例。
4.Fragment之间的相互通信
可以先获得Activity实例,再通过Activity获得Fragment实例。
三、动态使用Fragment
使用步骤和静态使用fragment一样,只是在Activity中的使用有所不同:
FragmentManager manager = getFragmentManager(); // 开启Fragment事务 FragmentTransaction transaction = manager .beginTransaction(); //做其他操作 transaction.replace(R.id.xxfragment,xxxFragment); //事务提交 transaction.commit();
transaction.add()
往Activity中添加一个Fragment
transaction.remove()
从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈,这个Fragment实例将会被销毁。
transaction.replace()
使用另一个Fragment替换当前的,实际上就是remove()然后add()的合体~
transaction.hide()
隐藏当前的Fragment,仅仅是设为不可见,并不会销毁
transaction.show()
显示之前隐藏的Fragment