Android 部分 Fragment 篇
1.Fragment 为什么会被称为第五大组件?
Android 中的 4 大组件为:Activity,Broadcast,Service,ContentProvider,那么为什么
Fragment 可以称之为第 5 大组件呢?你可以这么回答:
因为 Fragment 有生命周期,使用频率不输于 4 大组件,可灵活加载到 Activity 中。然
后谈论谈论 Fragment 如何加载到 Activity 中:
1.1 Fragment 加载到 Activity 的 2 种方式
Fragment 加载到 Activity 的方式分为静态加载和动态加载,下面我们看看这两种加载方
式:
静态加载:直接在 Activity 布局文件中指定 Fragment。使用指定属性 name 即可,代码
如下所示:
1. <fragment
2. android:name="com.example.myfragment.MyFragment"
3. android:id="@+id/myfragment_1"
4. android:layout_width="wrap_content"
5. android:layout_height="wrap_content"/>
动态加载: 动态加载需要使用到 FragmentManager,这种动态加载的方式在开发中是
非常常见的,示例代码如下:
1. FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginT
ransaction();
2. //将 FragmentA 从容器中移除掉,减少内存的消耗
3. fragmentTransaction.remove(fragmentA);
4. fragmentTransaction.add(R.id.fragment_layout,new FragmentB());
5. fragmentTransaction.commit();
1.2 Fragment 与 ViewPager 的搭配使用
通常情况下我们开发应用最常见的使用情况是 TabLayout+ViewPager+Fragment 的使用
方式,这就涉及到两个常用的适配器的使用,一个是 FragmentPagerAdapter,另外一个是
FragmentStatePagerAdapter,那么它们之间有什么区别呢?其实很简单,
FragmentPagerAdapter 适用于页面较少的情况,而 FragmentStatePagerAdapter 适用于页面
较多的情况。