Android--Fragment

1.碎片是一种可以嵌入在 Activity 中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间;
  1)碎片地简单使用:
    --创建碎片布局文件 fragment.xml;
    --创建类 MyFragment, 继承父类 Fragment (android.app包下),并重写 onCreateView() 方法,指定当前 Fragment 类的布局文件为 fragment.xml;
    --在 Activity 的布局文件中添加 <fragment> 标签,指定 android:name 属性为创建的 MyFragment类的全路径名;
  2)动态加载碎片:
    --创建待添加的碎片实例;
    --调用 getFragmentManager() 获取到 FragmentManager();
    --调用 fragmentManager.beginTransaction() 方法开启事务 transaction;
    --向容器中中添加碎片,一般使用 transaction.replace() 方法实现,需传入容器的id和待添加的碎片实例;
    --调用 transaction.commit() 方法提交事务;
    --可以调用 transaction.addToBackStack(null) 方法将 fragment 添加至返回栈中,这样按 Back 键后当前 Activity 不会finish();
2.碎片之间的通信:
  1)调用 FragmentManager 的 findFragmentById() 方法可以获取到相应的碎片实例,然后就可以在 Activity 中调用碎片中的方法了;
  2)在碎片中调用 getActivity() 可以获取与其相关联的 Activity 实例,然后可以在碎片中调用 Activity 中的方法;
  3)碎片之间的通信可以先通过在某一碎片中获取 Activity 实例,然后再通过 Activity 实例获取另一碎片的实例;
3.碎片的生命周期:
  1)运行状态;
  2)暂停状态;
  3)停止状态;
  4)销毁状态;
  相关方法:
  1)onAttach():当碎片与 Activity 建立关联的时候调用;
  2)onCreateView():为碎片加载视图时调用;
  3)onActivityCreated():确保与碎片相关联的 Activity 一定已经创建完毕时调用;
  4)onDestroyView():当与碎片关联的视图被移除时调用;
  5)onDetach():当碎片和 Activity 解除关联的时候调用;
4.可以使用限定符为不同屏幕大小的设备准备不同的布局;

原文地址:https://www.cnblogs.com/tengtao93/p/5259691.html