Fragment(碎片)动态的创建
动态创建不用像 静态一样要在主activity_main.xml布局文件
布局fragment(碎片)。
动态创建碎片只需要在activity_main.xml布局文件里放需要的
小布局(其实相当于fragment(碎片))
示例代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/text_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6"
android:background="#ebebeb" />
</LinearLayout>
上面的activity_main.xml布局文件里只放了一个小的 线性布局
但和静态创建的时候 还是有点相似的 -- 只不过静态创建 activity_main.xml
布局文件里放的是fragment(碎片)。 -- 基础阶段先这样理解。
=================================================================
Fragment动态的创建
1、首先要继承Fragment类
2、获取Fragment管理器
-- FragmentManager fragmentManager = getSupportFragmentMannager();
3、用Fragment管理器启动一个事物
-- FragmentTransaction transaction = fragmentManager.beginTransaction();
4、然后就可以利用事物 -- transaction 自带的添加 删除 替换 操作数据了
5、操作完数据后 -- 注意:要提交事物
-- transaction.commit();
--------------------
事物自带添加 删除 替换 方法说明
添加
//第一个参数 -- 在主activity_main.xml布局文件里放的线性小布局
//该小布局可以放其他的控件视图 -- 这样就相当于一个碎片了(动态创建)
//第二个参数 -- Left.java类,该类继承Fragment -- 碎片类
//该类中重写的onCreateView 会返回View(视图) 到第一个参数 -- 小布局上(碎片)
//第三个参数 -- 标志 -- 当要修改或者删除的时候 可以利用
transaction.add(R.id.text_layout,left_fragment,"My_left_fragment");
删除
//先找到需要删除的标志
Fragment tag = transaction.findFragmentByTag("My_left_fragment");
//然后删除相应的标志
transaction.remove(tag);
//不要忘记提交事物
transaction.commit();
替换
//找到要替换的标志
Fragment tag = transaction.findFragmentByTag("My_left_fragment");
if(tag == right_fragment){//判断要替换的标志是不是Right_fragment碎片类的
//如果是 就找到该类 在找到该标志 把要替换的内容替换掉
//通过第二个参数 返回来的新视图来替换原来的视图就行
//第三个参数 -- 替换后的新标志
transaction.replace(R.id.text_layout,left_fragment,"My_left_fragment");
}
==================================================================
动态创建就先了解这些 后面通过一个小程序理解Fragment(碎片)的动态创建