zoukankan      html  css  js  c++  java
  • Android06-Fragment碎片

    ¨Fragment简介
    ¨Fragment生命周期
    ¨动态加载碎片Fragment Manager的使用
     
    1.Fragment表示Activity中的一种行为或者一部分用户界面。
    可以将Fragment看做Activity中的一个模块单元,可以在不同的Activity中重用
    public class RightFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.right_fragment, container, false); 
    return view;
    } }
    

    inflate方法的三个参数:

    ¨布局文件的id
    ¨ViewGroup类型的对象,Fragment所在的容器对象(例如一个布局对象)
    ¨布尔类型
     
    2.动态添加碎片
    在活动布局中使用FrameLayout,在运行时将FrameLayout替换为需要的碎片

    动态添加碎片主要分为 5 步。

    1. 创建待添加的碎片实例。

    2. 获取到 FragmentManager,在活动中可以直接调用 getFragmentManager()方法得到。

    3. 开启一个事务,通过调用beginTransaction()方法开启。

    4. 向容器内加入碎片,一般使用 replace()方法实现,需要传入容器的 id 和待添加的碎片实例。

    5. 交事务,调用 commit()方法来完成。 

    6. public void onClick(View v) {
                  switch (v.getId()) {
                  case R.id.button:
                      AnotherRightFragment fragment = new AnotherRightFragment();
                      FragmentManager fragmentManager = getFragmentManager();
                      FragmentTransaction transaction = fragmentManager.
          beginTransaction();
                      transaction.replace(R.id.right_layout, fragment);
                      transaction.commit();
                      break;
                  default:
                      break;
      } }
      

      管理Fragment

      使用FragmentManager类来管理Fragment,使用Activity的getFragmentManager方法来获取FragmentManager对象

        

    7. 碎片的生命周期 

      1. 运行状态 当一个碎片是可见的,并且它所关联的活动正处于运行状态时,该碎片也处于运行状态。

      2. 暂停状态 当一个活动进入暂停状态时(由于另一个未占满屏幕的活动被添加到了栈顶),与它相关联的可见碎片就会进入到暂停状态。

      3. 停止状态

      当一个活动进入停止状态时,与它相关联的碎片就会进入到停止状态。或者通过调 用 FragmentTransaction 的 remove()、replace()方法将碎片从活动中移除,但有在事务 交之前调用 addToBackStack()方法,这时的碎片也会进入到停止状态。总的来说,进入 停止状态的碎片对用户来说是完全不可见的,有可能会被系统回收。
      4. 销毁状态

      碎片总是依附于活动而存在的,因此当活动被销毁时,与它相关联的碎片就会进入 到销毁状态。或者通过调用 FragmentTransaction 的 remove()、replace()方法将碎片从活 动中移除,但在事务 交之前并没有调用 addToBackStack()方法,这时的碎片也会进入 到销毁状态。 

      1. onAttach()

         当碎片和活动建立关联的时候调用。
        
      2. onCreateView()

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

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

        当与碎片关联的视图被移除的时候调用。
        
      5. onDetach()

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

  • 相关阅读:
    P85 实战练习
    Java语句及控制台输入
    P62 实战练习
    运算符、数据类型转换和注释
    Java变量与常量
    Java语法初步实际应用
    JQ 练习题
    JQ 特效下拉列表 写出与css一样的效果
    JQ 全选设定与设置选中
    JQ JSON数据类型
  • 原文地址:https://www.cnblogs.com/zqlmmd/p/5470708.html
Copyright © 2011-2022 走看看