Fragment
手机的view元素都是放在avtivity上,随着view控件变多变复杂,在一个avtivity上布局就会变困难,且不利于不同屏幕大小的适配
把大的容器拆分成小的fragment,每个小的fragment都有自己的布局和生命周期,fragment可复用
使用fragment:
- 继承Fragment类来创建你的Fragment,在该类中去重写父类定义好的方法,以便加载你的fragment UI、初始化fragment相关变量、控制fragment和activity的交互等等,从未完成定义fragment的功能
- 大多数情况下需要为你的Fragment制定一个UI,但是也可以为Activity创建一个没有UI,只提供后台行为的Fragment
两种创建方式:1.通过xml标签;2. 通过相关java代码动态创建(常用)
xml标签:
在activity_main里添加fragment标签
<fragment
android:id="@+id/fragment_center"
android:name="com.example.mollylee.lesson1.FragmentCenter"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
tools:layout="@layout/fragment_center" />
<fragment
android:id="@+id/fragment_bottom"
android:name="com.example.mollylee.lesson1.FragmentBottom"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="5"/>
通过java代码动态创建更加灵活
不会用frament标签,但是会用两个view元素用于占位
a. 创建待添加的碎片实例
b. 获取FragmentManager, 在活动中可以直接通过调用getSupportFragmentManager()方法得到
c. 通过beginTrasaction()开启一个事务
d. 向容器内添加或替换碎片,一般使用replace()
e. commit()提交事务