【Android】碎片Fragment

  1.碎片可以让界面在平板上更好地展示。

  2.碎片是一种可以嵌入到活动中的UI片段,它能让程序更加合理和充分地利用一个大屏幕的空间。有自己的生命周期,能包含布局。

  3.新建碎片类继承Fragment,可能会有两个不同的Fragment包供选择,一般选择android.app.Fragment(因为程序主要面对4.0以上版本)。

  4.如何加载布局?通过inflate()。在Activity.xml中通过android.name 显式指明要添加的碎片名,注意要把类的包名加上。

  动态添加碎片主要分为 5 步。
1. 创建待添加的碎片实例。
2. 获取到 FragmentManager,在活动中可以直接调用 getFragmentManager()方法得到。
3. 开启一个事务,通过调用 beginTransaction()方法开启。
4. 向容器内加入碎片,一般使用 replace()方法实现,需要传入容器的 id 和待添加的碎
片实例。
5. 提交事务,调用 commit()方法来完成。

  5.

1 AnotherRightFragment fragment = new AnotherRightFragment();
2 FragmentManager fragmentManager = getFragmentManager();
3 FragmentTransaction transaction = fragmentManager.
4 beginTransaction();
5 transaction.replace(R.id.right_layout, fragment);
6 transaction.commit();

  6.模拟返回栈 addToBackStack()用于将一个事务添加到返回栈中

  7.碎片与活动之间进行通信

    在活动中调用碎片:类似于findViewById(),FragmentManager有一个findFragmentById()方法,专门用于从布局文件中获取碎片的实例.

    

RightFragment rightFragment = (RightFragment) getFragmentManager()
.findFragmentById(R.id.right_fragment);

 

    在碎片里调用活动中的方法:通过getActivity()得到和当前碎片相关联的活动实例

    

MainActivity activity = (MainActivity) getActivity();

    通过碎片调用另外一个碎片思路:先在一个碎片中得到一个与它相关联的活动,再通过这个活动去获取另外一个碎片的实例。

  8.Fragment里的几个重要回调方法

    1. onAttach()

  当碎片和活动建立关联的时候调用。

    2. onCreateView()

  为碎片创建视图(加载布局)时调用。

    3. onActivityCreated()

  确保与碎片相关联的活动一定已经创建完毕的时候调用。

    4. onDestroyView()

  当与碎片关联的视图被移除的时候调用。

    5. onDetach()

  当碎片和活动解除关联的时候调用。

  9.判断单页还是双页——借助限定符(Qualifiers)

          

AnotherRightFragment fragment = new AnotherRightFragment();FragmentManager fragmentManager = getFragmentManager();FragmentTransaction transaction = fragmentManager.beginTransaction();transaction.replace(R.id.right_layout, fragment);transaction.commit();

posted @ 2016-08-09 17:01  52赫兹  阅读(197)  评论(0编辑  收藏  举报