美文网首页
动态添加碎片

动态添加碎片

作者: TTTqiu | 来源:发表于2016-04-22 10:41 被阅读227次
1. 创建新的碎片布局及类::
2. 在主布局中需要添加碎片的地方放置一个容器布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment
        android:id="@+id/left_fragment"
        android:name="com.example.fragmenttest.LeftFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />
    <FrameLayout
        android:id="@+id/right_layout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" >
        <fragment
            android:id="@+id/right_fragment"
            android:name="com.example.fragmenttest.RightFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </FrameLayout>
</LinearLayout>
3. 在代码中替换 FrameLayout 里的内容:
AnotherRightFragment fragment = new AnotherRightFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager. beginTransaction();
transaction.replace(R.id.right_layout, fragment);
transaction.commit();
动态添加碎片主要分为 5 步:
  1. 创建待添加的碎片实例。
  2. 获取到 FragmentManager,在活动中可以直接调用 getFragmentManager() 方法得到。
  3. 开启一个事务,通过调用 beginTransaction() 方法开启。
  4. 向容器内加入碎片,一般使用 replace() 方法实现,需要传入容器的 id 和待添加的碎片实例。
  5. 提交事务,调用 commit() 方法来完成。
4. 在碎片中模拟返回栈

在事务提交之前调用了 FragmentTransaction 的 addToBackStack()方法,它可以接收一个名字用于描述返回栈的状态,一般传入null 即可。

transaction.addToBackStack(null);

这样按下 Back 键,程序不会退出,而是回到上一个碎片。

相关文章

  • 动态添加碎片

    1. 创建新的碎片布局及类:: 2. 在主布局中需要添加碎片的地方放置一个容器布局: 3. 在代码中替换 Fram...

  • 第一行代码--笔记02

    chapter4 动态添加碎片主要分为 5 步。 创建待添加的碎片实例。 获取到 FragmentManager,...

  • 碎片

    layout_weight="1"用数字大小占比来分配碎片的大小。 动态添加碎片 借助framelayout,把碎...

  • Fragment详解

    一、动态添加碎片的步骤1.创建待添加的碎片实例。2.获取FragmentManager,在活动中可以直接通过调用g...

  • 入门第四天

    碎片 碎片总是依附于活动而存在的,可以在活动中随时动态添加 当碎片与活动建立关联的时候调用 为碎片创建视图(加载布...

  • 微信小程序如何动态添加样式

    动态添加style 动态添加class

  • 二十一:Python之动态添加属性方法

    一:动态添加属性方法 动态添加属性:类属性,成员属性 动态添加方法:成员方法,类方法,静态方法 动态添加对象方法需...

  • react 对象动态添加属性 setState

    // js 对象动态添加 js对象动态添加 //总结,给对象动态添加变量属性的方法如下: //obj[变量]=变...

  • iOS-RunTime 动态添加属性和方法

    1.1动态添加属性: 1.2调用: 1.3输出结果: 2.1动态添加方法 2.2输出结果: 3.1动态添加属性检测...

  • iOS RunTime 理解

    可以遍历对象的属性 可以动态的添加、修改属性,动态添加、修改、替换方法,动态添加、修改、替换协议 可以动态创建类、...

网友评论

      本文标题:动态添加碎片

      本文链接:https://www.haomeiwen.com/subject/jdqxrttx.html